Linux下的lds连接脚本详解,Linux链接脚本学习--lds
许多脚本是相当简单的.
可能最简单的脚本只含有一个命令:’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相关推荐
- linux下的arp刷新命令详解,linux arp 命令常用参数详解
linux arp 命令常用参数详解 linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的"IP 到物理"地址转换表. ARP -s inet_addr e ...
- linux下grep命令用法,全面详解linux下grep命令的用法
学linux系统,grep这个命令是必须要掌握的.grep命令是用来查找文件或标准输出中匹配的行,它的强大之处在于它支持正则表达式.日常工作中,grep绝对是用的最多的命令之一. 注:本文只介绍gre ...
- linux paste 变量,Linux下的paste合并命令详解
paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...
- linux下防火墙iptables用法规则详解
linux下防火墙iptables用法规则详解 分享者: du52.com 邮件: wangaibo168@163.com 主页: http://www.du52.com linux下防火墙iptab ...
- Linux 下 TC 命令原理及详解<一>
文章目录 1 前言 2 相关概念 3 使用TC 4 创建HTB队列 5 为根队列创建相应的类别 6 为各个类别设置过滤器 7 复杂的实例 Linux 下 TC 命令原理及详解<一> Lin ...
- 在linux系统上怎么架设服务器吗,Linux下各种服务器的架设详解
Linux下各种服务器的架设详解 本站整理 发布时间:2009-03-10 12:10:57 作者:jb51.net 我要评论 ########DNS########bind 篇##### ...
- linux电脑关机命令是什么问题,linux下正常关机之命令详解 -电脑资料
系统启动的时候生成一个文件,正常关机的时候会删除这个文件,管理过程中出现故障的机率. 步骤: 在/etc/rc.d/init.d/下编程脚本. 判断是否正常关机,和生成文件的脚本:touch-file ...
- Linux下Android ADB驱动安装详解
Developing with cocos2d-x for android on Linux http://blog.plicatibu.com/developing-with-cocos2d-x-f ...
- Linux下的tty和pts详解
Linux下的tty和pts详解 今天在在使用who和ps命令的时候,出现tty1或者pts/0,因为不太懂就查了一下: 使用tty命令可以查看现在使用的终端标识: 使用ctrl+alt+[F1~F8 ...
- Linux下Nginx编译安装过程详解
Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...
最新文章
- AI一分钟 | 贾跃亭宣布FF开工,并在京沪展开招聘,回国在望?;亚马逊CEO贝佐斯搭伴波士顿动力机器狗参会
- linux中sed深入,Linux中的sed
- vue怎么vw布局好用_vue 实现 rem 布局的 或者 vw 布局的方法
- shell 脚本 进行sqlite3初始化
- 2018湖湘杯web、misc记录
- python开发环境功能介绍_第一模块 第3章 Python介绍与环境配置
- 【转】3.7(译)构建Async同步基元,Part 7 AsyncReaderWriterLock
- 《TCP/IP详解》学习笔记(七):广播和多播、IGMP协议
- c++ stl stack_C ++ STL中的stack :: push()函数
- 程序员翻车时的 30 种常见反应!第21个深有感触...
- 【字符串】 - 判断是否包含相应的字符 - 截取某一部分字符
- UIWebView 无缝切换到 WKWebView
- PDF文件打开密码解密
- f1c100s开发笔记
- mysql ipv4转ipv6_从IPv4到IPv6过渡
- 基于存储卡的音乐播放器0.6
- dmg是什么文件格式_什么是DMG文件(以及我该如何使用)?
- 微信小程序语音搜索功能
- mysql--大于小于等于
- 还不懂shell脚本核心?这一篇就够了。
热门文章
- 本地HTML访问REST服务的实现
- 正则 以小写英文字母开头,且只能包含英文字母、数字、下划线
- php7 扩展 在哪下载,php7.0 redis扩展下载地址
- 计蒜客第七章:互粉攻略
- [ctf.show.reverse] 吃瓜杯 签层饼,Tea_tube_pot
- 计算机操作处于挂起状态,计算机重新启动操作可能处于挂起状态怎么办?
- excel----身份证号校验位excel公式分析
- 8255单片机开关控制发光二极管亮灭实验
- 软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】
- 计算机无法读取内存,电脑内存条无法识别,真正的原因在这里