ld(链接器)是Linux系统中用于将多个目标文件(object files)和库文件(library files)链接成一个可执行文件的工具
-o 或 --output:指定输出文件的名称。如果不指定该参数,链接器将使用第一个输入文件名作为输出文件名。
-v 或 --verbose:显示详细的链接过程信息。
-s 或 --strip-all:移除所有符号信息,生成一个不可执行的二进制文件。
-S 或 --strip-debug:仅移除调试信息,保留符号信息。
-static:以静态链接的方式链接库文件,生成的可执行文件将包含所有依赖的库函数。
-shared:以动态链接的方式链接库文件,生成的可执行文件不包含库函数,而是在运行时动态加载库文件。
-fPIC 或 --shared-lib:生成位置无关代码(Position Independent Code),适用于动态链接库文件。
-fPIE 或 --pie:生成位置无关可执行文件(Position Independent Executable),提高程序的安全性。
-O 或 --optimize:优化链接过程,可能提高程序性能。
-Wl, 或 --dynamic-linker:指定动态链接器的路径,例如 -Wl,/lib/ld-linux.so.2。
-rpath 或 --runpath:指定程序运行时搜索库文件的路径,例如 -rpath=/lib。
-L 或 --library-path:指定库文件的搜索路径,例如 -L/usr/local/lib。
-l 或 --library:链接指定的库文件,例如 -lmysql 链接 MySQL 库。
-I 或 --include-dir:指定头文件的搜索路径,例如 -I/usr/include/mysql。
-isystem 或 --system-include:指定系统头文件的搜索路径,通常用于指定编译器的标准库头文件路径。
-pthread:链接 POSIX 线程库,支持多线程程序。
这些参数只是 ld 命令的一部分,还有其他选项可用于控制链接过程。在使用 ld 命令时,请参考其手册页(man page)以获取完整的参数列表和详细信息。