ld
是 Linux 系统中的链接器(linker),用于将一个或多个目标文件(object files)链接成一个可执行文件(executable file)
- 链接单个目标文件:
ld -o output_file input_file.o
示例:将 input_file.o
链接成名为 my_program
的可执行文件。
ld -o my_program input_file.o
- 链接多个目标文件:
ld -o output_file file1.o file2.o file3.o
示例:将 file1.o
、file2.o
和 file3.o
链接成名为 my_program
的可执行文件。
ld -o my_program file1.o file2.o file3.o
- 链接库文件:
ld -o output_file input_file.o -lmylibrary
示例:将 input_file.o
链接到名为 mylibrary
的库文件,生成名为 my_program
的可执行文件。
ld -o my_program input_file.o -lmylibrary
- 链接多个库文件:
ld -o output_file input_file.o -llibrary1 -llibrary2 -llibrary3
示例:将 input_file.o
链接到名为 library1
、library2
和 library3
的库文件,生成名为 my_program
的可执行文件。
ld -o my_program input_file.o -llibrary1 -llibrary2 -llibrary3
注意:在使用 -l
选项时,不需要在库名后面加上 lib
前缀和 .a
或 .so
后缀。链接器会自动查找这些文件。
- 链接静态库和动态库:
静态库(.a
文件):
ld -o output_file input_file.o -lstatic_library
动态库(.so
文件):
ld -o output_file input_file.o -ldynamic_library
这些示例展示了如何使用 ld
命令链接目标文件和库文件。在实际项目中,链接过程可能涉及更多选项和参数,具体取决于项目需求和编译环境。建议查阅 ld
命令的手册页(通过 man ld
命令)以获取更详细的信息。