我有2个文件链接:“test.o”和“testlib.a”两个文件都在同一个文件夹如何使用命令ld
现在我想用连接器加入他们的行列。问题是必须将它们与“ld”命令联系起来!
那么有人能告诉我语法是怎么样的吗?
我尝试这一点,但它不工作:
ld -I -o testprog test.o testlib.a
我有2个文件链接:“test.o”和“testlib.a”两个文件都在同一个文件夹如何使用命令ld
现在我想用连接器加入他们的行列。问题是必须将它们与“ld”命令联系起来!
那么有人能告诉我语法是怎么样的吗?
我尝试这一点,但它不工作:
ld -I -o testprog test.o testlib.a
就让G ++利用你所有的细节问题 - 它会调用ld
了所有正确的参数:
g++ -o testprog test.o testlib.a
如果您想查看正在传递给ld
的命令,以便您可以直接调用它,则只需添加-v
标志:
g++ -v -o testprog test.o testlib.a
如果您的程序不需要大多数程序使用的C++运行时库部件,您将得到的结果将会工作。如果您想要使用任何C++运行时功能,您将需要提供C++启动代码和标准C++库(例如,您的代码在main
开始,并且有stdin
,cin
,atexit
的表和许多其他类似的东西被初始化)。
没有理由直接使用ld
。像Paul R说的那样,使用g++
来进行链接。它知道如何去做所有你需要的事情。只有当你不想这样做时,如果你正在构建一个操作系统(或内核模块)或其他一些不使用正常标准运行时库位的组件。