当我检查 gcc -v -o proggy.exe proggy.o 生成的代码时,我发现命令行扩展为一大堆库选项和库,所有这些都使用 collect2.exe 链接。ld.exe怎么了?为什么我看不到?有人可以向我解释一下 collect2.exe 的作用吗?
问问题
6744 次
collect2
是用于生成构造函数表的实用程序__main
(在开头调用的自动生成函数main
)依赖。通常你看不到它,因为它是ld
在文件系统上命名的,然后它又调用真正的 ld (通常称为real-ld
,尽管 collect2 会检查许多地方来寻找它)
GCC 在几乎所有系统上都使用一个名为 collect2 的实用程序来安排在启动时调用各种初始化函数。[关联]