链接

1.链接过程: 程序加载->重定位->符号解析

2.连接器输入:目标文件、库、命令文件

连接器输出:可执行文件、加载映射信息、调试器符号

3.obj文件结构:段(segments)、符号表(symbol table)

链接器第一遍扫描obj文件,创建一个列出输入文件中的所有段的段表和包含所有导入导出符号的符号表。确定输出文件布局。

第二遍扫描负责重定位,和动态链接时,运行时链接器解析动态符号所需信息。

当链接器处理完所有obj文件之后,如果还存在未解析的improted name他就会查找库,将输出这些未解析名字的库连接起来。(静态链接)

原文地址:https://www.cnblogs.com/hucn/p/2011678.html