ld
是 Linux 下的链接器,它负责将编译后的目标文件(.o 或 .obj)链接成可执行文件(.exe)或共享库(.so)
使用静态库的命令格式如下:
ld -o output_file input_file(s) -lstatic_library_name -lyour_static_library_name
例如,将 libexample.a
静态库链接到名为 my_program
的可执行文件中:
ld -o my_program my_program.o -lexample -lexample
使用动态库的命令格式如下:
ld -o output_file input_file(s) -ldynamic_library_name -lyour_dynamic_library_name
例如,将 libexample.so
动态库链接到名为 my_program
的可执行文件中:
ld -o my_program my_program.o -lexample -lexample
需要注意的是,为了使用动态库,程序在编译时需要指定 -fPIC
(Position Independent Code)选项,以便生成位置无关的代码。此外,动态库通常需要放在一个特定的目录中,以便链接器能够找到它。在运行时,可以通过 LD_LIBRARY_PATH
环境变量来指定动态库的搜索路径。