ld
(链接器)是 Linux 系统中用于将一个或多个目标文件(object files)链接成一个可执行文件(executable file)的工具
基本语法:
ld [options] [object-files...]
常用选项:
-o output-file
:指定输出文件的名称。如果不指定,链接器会使用第一个目标文件的名称作为输出文件名。-s
:去除符号表信息,减小生成的可执行文件大小。-static
:静态链接,将所有依赖的库文件直接嵌入到可执行文件中,生成一个独立的可执行文件。-dynamic
:动态链接,不将依赖的库文件嵌入到可执行文件中,而是生成一个包含动态链接信息的可执行文件。-fPIC
:生成位置无关代码(Position Independent Code),使得生成的目标文件可以在内存中任意位置运行。-I
:指定库文件的搜索路径。-L
:指定库文件的搜索路径。-l
:链接指定的库文件。例如,-lmysql
表示链接 MySQL 库。-shared
:生成一个共享库文件(shared library)。-multi-arch
:支持多架构链接,例如,当为目标文件指定了不同的架构时,链接器会尝试为每个架构生成一个可执行文件。注意事项: