gcc链接过程中定义了三个集合:可重定位目标文件集合E.未解析符号集合U和已定义符号集合D,链接基本流程如下: 1) 按命令行指定顺序依次处理每个目标文件和库文件: 2) 如果为目标文件,将其加入集合E,将其所有符号加入D,将得到解析的符号从U中移除: 3) 如果为静态库文件,若库中的某个目标文件能够解析U中的一个或多个符号,则按1)中方式进行链接处理: 4) 如果为动态库文件,移除U中得到解析的符号,在D中加入库中符号: 5) 若集合U最终为空,链接成功,对E中文件进行合并和重定位处理,生成可…