自动开始安装 Inno Setup 打包的安装程序

有时候我们希望用户执行安装程序后,跳过路径选择等一系列确认,自动开始安装,已尽可能减少等待时间。

最明显的例子就是,用户在已经安装程序的情况下,下载了新版的安装包,需要执行更新操作。因为安装路径、设置选项等信息早在用户首次安装时就已经确定,升级安装过程中完全可以跳过。

某科学的直播姬在加入自动更新功能的同时,就需要安装包具备上述能力。

Read More

自动将 non-capturing lambda 转换为函数指针

在开发某科学的直播姬的过程中,经常需要在 obs-studio 处理源之后紧接着做一些事情,例如针对大图片源做自动放缩等。

obs-studio 采用一个专有的 graphics rendering thread 来渲染各种 visualizable sources,并且允许你根据需求,注册各种底层源操作事件的回调函数(obs-studio 自己称之为 signal handler)。

Read More

Monthly Read Posts in Dec 2016

C++ Performance: Common Wisdoms and Common “Wisdoms”

The post discusses some oftenly-argued performance related aspects of C++.

Read More

利用 chromium net 库的 URLRequest 实现支持断点续传的 URLDownloader

最近因为要实现某直播姬的自动更新功能,于是就要求客户端能够自动下载安装包,所以就要实现一个简单的支持续传的下载功能。

因为用了 chromium 的框架,所以自然是基于 chromium net lib 去实现;稍微翻了一下源码目录,最后决定在 net::URLRequest 的基础上自己封装一个 URLDownloader

Read More

Monthly Read Posts in Nov 2016

Stack Frame Layout on X86-64

Main observations

Read More

避免使用 breakpad 时调试模式下某些错误跳过调试器自动引发崩溃处理

现象

某个小朋友(虽然和我同年同届…)写代码时不注意,出现未知错误,但是即使调试器启用所有断点选项,也并没有断在出现错误的地方,而是直接进入了我写的 crash handler。

Read More

推荐 CSAPP:3e 课程视频以及 Bomb Lab

经过差不多 7 年时间(2008 ~ 2015),CSAPP 终于出了 3rd edition;根据官方的 changelog,新版全面用 x64 的体系结构去替代了旧版的 ia-32。

不管手头有没有第三版的书(讲道理其实挺贵的,机工的翻译版 2016/12 会发行,但是不知道英文版/影印版什么时候发),课程的在线视频都是很好的一个补充手段。

Read More