12

当我检查 gcc -v -o proggy.exe proggy.o 生成的代码时,我发现命令行扩展为一大堆库选项和库,所有这些都使用 collect2.exe 链接。ld.exe怎么了?为什么我看不到?有人可以向我解释一下 collect2.exe 的作用吗?

4

2 回答 2

11

collect2是用于生成构造函数表的实用程序__main(在开头调用的自动生成函数main)依赖。通常你看不到它,因为它是ld在文件系统上命名的,然后它又调用真正的 ld (通常称为real-ld,尽管 collect2 会检查许多地方来寻找它)

于 2010-05-12T20:47:58.320 回答
5

GCC 在几乎所有系统上都使用一个名为 collect2 的实用程序来安排在启动时调用各种初始化函数。[关联]

于 2010-05-12T20:48:00.043 回答