可迁移模型 · TRANSFERABLE MODEL
链接的本质是"填补空白"——每一层翻译都在做地址绑定
从编译到链接到装载,每一层翻译的核心操作都是"把符号的占位符替换为真实地址"。编译器输出的地址是相对偏移(相对于文件起始为0),链接器把它替换为相对于整个地址空间的虚拟地址,装载器再通过页表把它映射到物理地址。理解了这个"逐层绑定"的模型,就能理解为什么跨平台编译那么难(ABI不同=地址绑定契约不同)。
来自这本书的解读报告
《程序员的自我修养》
这本书回答了源代码如何变成可运行程序的问题,答案是追踪编译、链接、装载、运行时库的全链路机制
阅读完整解读报告 →