如何与命令行链接

How to link with the command ld

本文关键字:链接 命令行      更新时间:2023-10-16

我有2个文件:"test. "O"answers"testlib"。A "两个文件都在同一个文件夹

现在我想用链接器连接它们。问题是必须将它们与"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++来做链接。它知道如何做你需要的所有事情。只有当您正在构建不使用正常标准运行时库位的操作系统(或内核模块)或其他组件时,才不希望这样做。