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: 删除所有本地符号

ld命令的更多相关文章

  1. linux 发布 qt(更新ld命令的路径依赖)

    PATH 错误解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such ...

  2. Linux ld命令

    一.简介 http://blog.sina.com.cn/s/blog_a0dc7dcf01014c5s.html 二.选项 http://blog.sina.com.cn/s/blog_a0dc7d ...

  3. ar命令详解

    ar 命令 用途 维护链接编辑器使用的索引库. 语法 ar [  -c ] [  -l ] [  -g | -o ] [  -s ] [  -v ] [  -C ] [  -T ] [  -z ] { ...

  4. linux编程开发命令

    test命令命令功能test命令是shell环境中测试条件表达式的实用工具.命令语法test(选项)选项说明-b〈文件〉如果文件为一个块特殊文件,则为真;-c<文件〉,如果文件为一个字符特殊文件 ...

  5. windos命令行下的程序编写

    1.命令行下写程序. 写程序一定要用IDE?不,我还可以用记事本呢.呵呵,写程序一定要用记事本?? ———————————————— 命令行下输入copy con test.txt后回车可在相应目录下 ...

  6. gcc/g++命令认识

    gcc & g++是gnu中最主要和最流行的c & c++编译器 . g++用来针对c++的处理命令,以.cpp为后缀,对于c语言后缀名一般为.c.这时候命令换做gcc即可. 下面以T ...

  7. Linux下ld搜索问题:ld: cannot find -l"XX"

    ld命令行工具(链接库的一个工具)的搜索路径是-L指定的,库名是-l指定的. 比如: ld -L[dir] -l[mylib] --verbose 以上我用可视化的方法显示ld的搜索路径,其结果是居然 ...

  8. strip 命令的使用方法

    用途 通过除去绑定程序和符号调试程序使用的信息,降低扩展公共对象文件格式(XCOFF)的对象文件的大小. 语法 strip [ -V ] [ -r [ -l ] | -x [ -l ] | -t | ...

  9. strip 使用命令

    使用 通过消除使用调试器的粘合剂和符号信息,减少扩展公共对象文件格式(XCOFF)对象文件大小. 语法 strip [ -V ] [ -r [ -l ] | -x [ -l ] | -t | -H | ...

随机推荐

  1. Java 多线程 sleep()方法与yield()方法的区别

    sleep()方法与yield()方法的区别如下: 1 是否考虑线程的优先级不同 sleep()方法给其他线程运行机会时不考虑线程的优先级,也就是说,它会给低优先级的线程运行的机会.而yield()方 ...

  2. php获取文章的第一张图片

    今天做东西的时候遇到一个问题就是如何把文章提取出来作为文章列表呢? 因为用了Ueditor,所以提交的数据包含了html标签. 搜索了一会找到了一个方案,用php自带的函数去掉了html标签. $ar ...

  3. 变量类型-Number

    教程:一:数字类型 (1)int 没有限制大小,有以下的四种表现形式:        1:2进制:以'0b'开头---bin        2:8进制:以'0o'开头---oct        3:1 ...

  4. gvim 技巧

    1.对齐 很多时候想对齐括号和“=”号,行数很多的时候就是体力活了.使用3条命令就可以完成对齐 :set ts=16                    ##将tab设置为16 :%s/(/\t(/ ...

  5. Nginx负载均衡后端健康检查(支持HTTP和TCP)

    之前有一篇文章记录nginx负载均衡后端检查,链接为 https://www.cnblogs.com/minseo/p/9511456.html 但是只包含http健康检查不包含tcp下面安装ngin ...

  6. yum配置163源

    CentOS7 配置163 yum源 1)下载repo文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 2)备份并替换系统的repo ...

  7. centos开启防火墙

    https://www.cnblogs.com/oskyhg/p/8011001.html

  8. task CancellationTokenSource

    使用CancellationTokenSource对象需要与Task对象进行配合使用,Task会对当前运行的状态进行控制(这个不用我们关心是如何控制的).而CancellationTokenSourc ...

  9. IEnumerable、IEnumerator、ICollection、IList、List的继承关系及简单使用

    IEnumerable和IEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单的迭代,IEnumerable和I ...

  10. JS promise

    1.Promise是什么? Promise是抽象异步处理对象以及对其进行各种操作的组件. 2.实例化 使用new来调用Promise的构造器来进行实例化 var promise = new Promi ...