许多脚本是相当简单的.

可能最简单的脚本只含有一个命令:’SECTIONS’.

你可以使用’SECTIONS’来描述输出文件的内存布局.

‘SECTIONS’是一个功能很强大的命令.

假设你的程序只有代码段,初始化过的数据段,和未初始化过的数据段.这些会存在于’.text’,’data’,’bss’段中.

对于这个例子,假设代码应该被载入到地址0x1000处,而数据应该从0x8000000开始,如下是实现这个功能的脚本:

SECTIONS

{

.=0x1000;

.text:{*(.text)}

.=0x8000000;

.data:{*(.data)}

.bss:{*(.bss)}

}

具体分析:

关键字’SECTIONS’开始于这个配置.后面跟有一串放在花括号中的符号赋值和输出端描述的内容.

第一行是对一个特殊的符号’.’赋值,这是一个定位标识器.如果你没有以其他的方式制定输出段的地址,那地址值就会被设为定位标识器的现有值,即0x1000.

第二行定义一个输出段,’.text’.冒号’:’是语法需要,现在可以被忽略.段后面的花括号中,应该列出所有应该放入这个输出段中的输入端的名字.’*’是通配符,匹配所有文件名.即将所有输入文件中的.text段都保存在此段中.

余下的是.data和.bss段,同理,链接器会把所有.data段从地址0x8000000开始处放置.

最后,定位标识器的值变为0x8000000加上所有.data段的地址.此时链接器把所有.bss放在此处开始的地址.

Linux下的lds连接脚本详解,Linux链接脚本学习--lds相关推荐

  1. linux下的arp刷新命令详解,linux arp 命令常用参数详解

    linux arp 命令常用参数详解 linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的"IP 到物理"地址转换表. ARP -s inet_addr e ...

  2. linux下grep命令用法,全面详解linux下grep命令的用法

    学linux系统,grep这个命令是必须要掌握的.grep命令是用来查找文件或标准输出中匹配的行,它的强大之处在于它支持正则表达式.日常工作中,grep绝对是用的最多的命令之一. 注:本文只介绍gre ...

  3. linux paste 变量,Linux下的paste合并命令详解

    paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...

  4. linux下防火墙iptables用法规则详解

    linux下防火墙iptables用法规则详解 分享者: du52.com 邮件: wangaibo168@163.com 主页: http://www.du52.com linux下防火墙iptab ...

  5. Linux 下 TC 命令原理及详解<一>

    文章目录 1 前言 2 相关概念 3 使用TC 4 创建HTB队列 5 为根队列创建相应的类别 6 为各个类别设置过滤器 7 复杂的实例 Linux 下 TC 命令原理及详解<一> Lin ...

  6. 在linux系统上怎么架设服务器吗,Linux下各种服务器的架设详解

    Linux下各种服务器的架设详解 本站整理   发布时间:2009-03-10 12:10:57   作者:jb51.net   我要评论 ########DNS########bind 篇##### ...

  7. linux电脑关机命令是什么问题,linux下正常关机之命令详解 -电脑资料

    系统启动的时候生成一个文件,正常关机的时候会删除这个文件,管理过程中出现故障的机率. 步骤: 在/etc/rc.d/init.d/下编程脚本. 判断是否正常关机,和生成文件的脚本:touch-file ...

  8. Linux下Android ADB驱动安装详解

    Developing with cocos2d-x for android on Linux http://blog.plicatibu.com/developing-with-cocos2d-x-f ...

  9. Linux下的tty和pts详解

    Linux下的tty和pts详解 今天在在使用who和ps命令的时候,出现tty1或者pts/0,因为不太懂就查了一下: 使用tty命令可以查看现在使用的终端标识: 使用ctrl+alt+[F1~F8 ...

  10. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

最新文章

  1. AI一分钟 | 贾跃亭宣布FF开工,并在京沪展开招聘,回国在望?;亚马逊CEO贝佐斯搭伴波士顿动力机器狗参会
  2. linux中sed深入,Linux中的sed
  3. vue怎么vw布局好用_vue 实现 rem 布局的 或者 vw 布局的方法
  4. shell 脚本 进行sqlite3初始化
  5. 2018湖湘杯web、misc记录
  6. python开发环境功能介绍_第一模块 第3章 Python介绍与环境配置
  7. 【转】3.7(译)构建Async同步基元,Part 7 AsyncReaderWriterLock
  8. 《TCP/IP详解》学习笔记(七):广播和多播、IGMP协议
  9. c++ stl stack_C ++ STL中的stack :: push()函数
  10. 程序员翻车时的 30 种常见反应!第21个深有感触...
  11. 【字符串】 - 判断是否包含相应的字符 - 截取某一部分字符
  12. UIWebView 无缝切换到 WKWebView
  13. PDF文件打开密码解密
  14. f1c100s开发笔记
  15. mysql ipv4转ipv6_从IPv4到IPv6过渡
  16. 基于存储卡的音乐播放器0.6
  17. dmg是什么文件格式_什么是DMG文件(以及我该如何使用)?
  18. 微信小程序语音搜索功能
  19. mysql--大于小于等于
  20. 还不懂shell脚本核心?这一篇就够了。

热门文章

  1. 本地HTML访问REST服务的实现
  2. 正则 以小写英文字母开头,且只能包含英文字母、数字、下划线
  3. php7 扩展 在哪下载,php7.0 redis扩展下载地址
  4. 计蒜客第七章:互粉攻略
  5. [ctf.show.reverse] 吃瓜杯 签层饼,Tea_tube_pot
  6. 计算机操作处于挂起状态,计算机重新启动操作可能处于挂起状态怎么办?
  7. excel----身份证号校验位excel公式分析
  8. 8255单片机开关控制发光二极管亮灭实验
  9. 软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】
  10. 计算机无法读取内存,电脑内存条无法识别,真正的原因在这里