ld 是 Linux 系统中的链接器(linker),它用于将一个或多个目标文件(object files)链接成一个可执行文件
ld [选项] [目标文件] [链接器脚本] [库文件] 常用选项:
-o 或 --output:指定输出的可执行文件名。-v 或 --verbose:显示详细的链接过程信息。-s 或 --strip-all:去除可执行文件中的符号信息,减小文件大小。-static:静态链接,将所有依赖的库文件嵌入到可执行文件中。-dynamic:动态链接,不嵌入库文件,而是在运行时加载所需的库文件。-l 或 --library:链接指定的库文件,例如 -lmath 链接数学库。-I 或 --include-dir:指定头文件搜索目录。-L 或 --library-dir:指定库文件搜索目录。-Wl,:传递选项给链接器,例如 -Wl,-rpath,libpath 设置运行时库搜索路径。示例:
编译一个名为 main.c 的 C 语言源文件:
gcc -o main main.c 将 main.o 链接成一个名为 my_program 的可执行文件,并静态链接数学库:
ld -o my_program main.o -static -lmath 将 main.o 链接成一个名为 my_program 的可执行文件,并动态链接数学库,同时设置运行时库搜索路径:
ld -o my_program main.o -dynamic -lmath -Wl,-rpath,/path/to/lib 链接一个名为 example.o 的目标文件和一个名为 libexample.a 的静态库文件:
ld -o example example.o -lexample 注意:在使用 ld 命令时,请确保已经安装了相应的编译器和库。如果遇到链接错误,请检查目标文件和库文件的依赖关系是否正确。