随笔分类 - 链接、装载
摘要:1. 可执行文件的生成 源代码到可执行文件的生成可分为预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接(Linking),四个步骤。 1.1 预处理 以 C 语言为例,预处理主要是处理源代码中以“#”开头的那些预处理指令,规则如下: 将所有 “#def
阅读全文
摘要:背景:静态链接库一旦链接进去,代码和变量的 section 都合并了,因而程序运行的时候,就不依赖于这个库是否存在。但是这样有一个缺点: 就是相同的代码段,如果被多个程序使用的话,在内存里面就有多份; 而且一旦静态链接库更新了,如果二进制执行文件不重新编译, 也不随着更新。 因而就出现了另一种,动态
阅读全文