X

曜彤.手记

随记,关于互联网技术、产品与创业

吉 ICP 备10004938号

Recent Articles

std::optional 与 Optional References

std::optional 是 C++17 中新添加的一个类模板,用来表示**一个值可能存在一种“不可用”的状态**。这类的场景需求很多,比如“搜索一个字符串中的所有字符,并返回其中出现的第一个数字值”。针对这个需求,我们可能获得多个不同的结果,但其中一个相对特殊的结果是“字符串中没有可返回的数字值”。那么这个时候,std::optional 就可以派上用场了。

《Low-Level Programming》读书笔记(三)

内容还是太多,所以还是继续书接上文。

《Low-Level Programming》读书笔记(二)

内容太多,所以分成多篇来记录了,书接上文。

《Advanced Design and Implementation of VMs》读书笔记(一)

也是很久之前无意间搜罗到的一本关于 VM 的好书,趁此疫情 WFH 期间时间充足,赶紧读起来。PS. 果然国人写的英语书籍就是比外国人写的好读很多,主要是因为 —— 废话少。

《Low-Level Programming》读书笔记(一)

无意间找到的一本好书,主要介绍 X86_64 体系下的 C 和汇编。其中第十二章关于“编程语言设计”部分的内容,以及第十三章关于“良好编码规范”的内容就简单略过了。

NASM 小记录

本文记录一些在使用 NASM 时遇到的常用信息,以供快速查阅之用。

Linux 共享库应用 --version-script

我们知道,传统 Linux 共享库的 SO-NAME 机制无法解决当依赖共享库的次版本号不同时所可能带来的符号不兼容问题。为此,我们可以为共享库添加 Version Script 以标记其中各符号所对应的次版本号,当所依赖版本符号不存在时便可以给出相对友好的提示信息。不仅如此,借助 Version Script 我们还可以向应用程序屏蔽共享库的一些内部工具符号。

《程序员的自我修养 — 链接、装载与库》读书笔记(二)

书接上文。

ld 链接控制脚本与默认脚本

我们可以通过 `ld -verbose` 命令来查看 GNU 链接器 ld 默认使用的内部链接控制脚本。这里直接列出该控制脚本的内容。

尝试构建体积最小的 ELF 可执行程序

本文将尝试构建一个代码量最少、体积最小的 ELF 可执行程序,程序运行时会向 stdout 输出字符串 “Hello, YHSPY!”。

See more? Please go to "Articles" page : )