【笔记】使用 PDB 符号文件导出 Windows 内核数据结构

2022-03-26
阅读 2 分钟
3.2k
msvcrt.dll ucrtbase.dll 提供基础 CRT (C语言运行时)库,例如 fopen,_sleep 等。前者 msvcrt 绑定 MSVC 版本号,不同的版本不完全兼容(这也是安装很多软件时会让你装微软运行时的缘故),后者是微软新出的通用版本,所谓 Universal CRT

【硬核】乘以 0.01 和除以 100 哪个快?

2021-12-05
阅读 5 分钟
4.1k
在知乎上看到这个问题,觉得挺有趣的。下面的回答五花八门,但是就是没有直接给出真正的benchmark结果的。还有直接搬反汇编代码的,只不过汇编里用了 x87 FPU 指令集,天那这都 202x 年了真的还有程序用这个老掉牙的浮点运算指令集的吗?

用 io_uring 替代 epoll 实现高速 polling

2019-06-02
阅读 2 分钟
13.1k
前面的文章说到 io_uring 是 Linux 中最新的原生异步 I/O 实现,实际上 io_uring 也支持 polling,是良好的 epoll 替代品。

原生的 Linux 异步文件操作,io_uring 尝鲜体验

2019-05-27
阅读 5 分钟
16.7k
异步IO一直是 Linux 系统的痛。Linux 很早就有 POSIX AIO 这套异步IO实现,但它是在用户空间自己开用户线程模拟的,效率极其低下。后来在 Linux 2.6 引入了真正的内核级别支持的异步IO实现(Linux aio),但是它只支持 Direct IO,只支持磁盘文件读写,而且对文件大小还有限制,总之各种麻烦。到目前为止(2019年5月),...

二进制状态码

2019-02-01
阅读 1 分钟
4.1k
我们知道计算机中数据都是用二进制数存储。二进制数是一系列0和1的组合,长整型64位,最短的字节型也有8位。其中每一位0和1都可以看做一种状态的开和关,所以就有了这样的一种状态码存储方式:把同一对象的多种状态按位组合到一个整数中。