自动将 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

在 WSL 的 VIM 里安装 YCM

注 1:此处的 WSL 指的是 Windows Subsytem for Linux,不是“猥琐流”

注 2:如果是在中国并且没有专用的全局科学上网线路(比如在自己家里),建议找一个类似 SS 的梯子,让 WSL 里的网络操作走代理,提高速度,避免因为某些连接被和谐导致悲剧发生。

Read More