linux目标文件链接命令,ld 命令:将目标文件链接为可执行程序 - dute.org

说明

ld 命令是二进制工具集 GNU Binutils 的一员,是 GNU 链接器,用于将目标文件与库链接为可执行程序或库文件。

语法ld [选项] [目标文件...]

选项-b:指定目标代码输入文件的格式

-Bstatic:只使用静态库

-Bdynamic:只使用动态库

-Bsymbolic:把引用捆绑到共享库中的全局符号

-c:从指定的命令文件读取命令

--cref:创建跨引用表

-d:设置空格给通用符号,即使指定了可重定位输出

-defsym:在输出文件中创建指定的全局符号

-demangle:在错误消息中还原符号名称

-e:使用指定的符号作为程序的初始执行点

-E:对于 ELF 格式文件,把所有符号添加到动态符号表

-f:对于 ELF 格式共享对象,设置 DT_AUXILIARY 名称

-F:对于 ELF 格式共享对象,设置 DT_FILTER 名称

-format:指定目标代码输入文件的格式 (和 -b 相同)

-g:被忽略。用于提供和其他工具的兼容性

-h:对于 ELF 格式共享对象,设置 DT_SONAME 名称

-i:执行增量连接

-l:把指定的存档文件添加到要连接的文件清单

-L:把指定的路径添加添加到搜索库的目录清单

-M:显示连接映射,用于诊断目的

-Map:创建指定的文件来包含连接映射

-m:模拟指定的连接器

-N:指定读取/写入文本和数据段

-n:设置文本段为只读

-noinhibit-exec:生成输出文件,即使出现非致命连接错误

-no-keep-memory:为内存使用优化连接

-no-warn-mismatch:允许连接不匹配的目标文件

-O:生成优化了的输出文件

-o:指定输出文件的名称

-oformat:指定输出文件的二进制格式

-R:从指定的文件读取符号名称和地址

-r:生成可重定位的输出(称为部分连接)

-rpath:把指定的目录添加到运行时库搜索路径

-rpath-link:指定搜索运行时共享库的目录

-S:忽略来自输出文件的调试器符号信息

-s:忽略来自输出文件的所有符号信息

-shared:创建共享库

-sort-common:在输出文件中不按照长度对符号进行排序

-split-by-reloc:按照指定的长度在输出文件中创建额外的段

-split-by-file:为每个目标文件在输出文件中创建额外的段

--section-start:在输出文件中指定的地址定位指定的段

-T:指定命令文件 (和 -c 相同)

-Ttext:使用指定的地址作为文本段的起始点

-Tdata:使用指定的地址作为数据段的起始点

-Tbss:使用指定的地址作为 bss 段的起始点

-t:在处理输入文件时显示它们的名称

-u:强制指定符号在输出文件中作为未定义符号

-warn-common:当一个通用符号和另一个通用符号结合时发出警告

-warn-constructors:如果没有使用任何全局构造器,则发出警告

-warn-once:对于每个未定义的符号只发出一次警告

-warn-section-align:如果为了对齐而改动了输出段地址,则发出警告

--whole-archive:对于指定的存档文件,在存档中包含所有文件

-X:删除所有本地临时符号

-x:删除所有本地符号

参数目标文件:指定需要连接的目标文件

实例

链接目标文件生成可执行文件。给定 C++ 目标文件 test.o 与 main.o,生成可执行文件 mylib.out。ld /usr/lib64/crt1.o /usr/lib64/crti.o /usr/lib64/crtn.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib64 -L/usr/lib -lstdc++ -lm -lgcc_s -lc -lgcc main.o mylib.o -o test.out

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值