如何链接命令ld

时间:2013-04-28 15:19:59

标签: c++ ld

我有2个文件:“test.o”和“testlib.a”两个文件都在同一个文件夹中

现在我想加入链接器。问题是必须将它们与“ld”命令联系起来!

那么有人能告诉我语法是怎么回事吗?

我试试这个,但它不起作用:

ld -I -o testprog test.o testlib.a

2 个答案:

答案 0 :(得分:3)

让g ++为您处理所有细节 - 它将使用所有正确的参数调用ld

g++ -o testprog test.o testlib.a

如果要查看传递给ld的命令,以便可以直接调用它,那么只需添加-v标志:

g++ -v -o testprog test.o testlib.a

答案 1 :(得分:2)

如果您的程序不需要大多数程序使用的C ++运行时库部件,那么您所提供的内容将。如果要使用任何C ++运行时功能,则需要提供C ++启动代码和标准C ++库(例如,您的代码从main开始,并且stdin,{{1} },cin的表和许多其他类似的东西初始化)。

没有理由直接使用atexit。像Paul R说的那样,使用ld进行链接。它知道如何做你需要的所有事情。只有当您构建操作系统(或内核模块)或其他不使用普通标准运行时库位的组件时,您才不想这样做。