十.链接器脚本
来源:互联网 发布:万方数据库客户端 编辑:程序博客网 时间:2024/06/08 06:39
1.裸机。内核,驱动,u-boot都会用到,地位重要。控制可执行程序的生成过程
2.段:
(1)一个可执行程序包含:代码段,数据段(已初始化),BSS段(未初始化)
(2)脚本中必然包含与上述段相关的信息
(3)固定格式:
SECTIONS{
.text :
{
*(.text)
}
.data :
{
*(.data)
}
.bss :
{
*(.bss)
}
}
注意一定要使用tab键
3.起始链接地址:在SECTIONS的开始处加上:
. = 起始地址;(注意有分号和空格)
.:表示当前位置
4.对齐设置:
ARM处理器访问内存是以四字节的方式访问,所以把一些数据按照四字节对齐能提高访问效率。
四字节对齐:存放起始地址能被4整除
有些情况,在当前地址是无法满足四字节对齐的,所以要在链接脚本里面强行对齐:
. = ALIGN(4);
那样就会自动调整相应段向后移动合适的长度满足对齐要求
5.变量:
bss_start = .;将当前地址赋值给bss_start,不用事先申明变量类型
6.设置代码段首文件:
保证初始化相关的代码存放在程序的最开始
.text :
{
start.o(.text)
*(.text)
}
上述代码实现将start.o一定存放在代码段的开始部分
0 0
- 十.链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本lds
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本 .lds
- 链接器ld和链接脚本lds
- Linker script 链接器脚本
- lscript.ld 链接器脚本
- 专题1:链接器脚本
- 链接器脚本的设计
- 链接脚本
- l2tp、IPsec、ssl VPN的区别
- 十五周项目一 数组大折腾
- jsp 基于dtree 从数据库中进行动态生成树(radio)
- 完全卸载mysql
- C语言贪心(2)___田忌赛马(Hdu 1052)
- 十.链接器脚本
- 解决旋转数组二分查找的万能程序
- .net实现用户控件的弹出层
- 深入了解显示器参数
- CentOS查看文件编码格式及文件编码转换
- hazelcast Document-Config 文档翻译
- bootstrap界面杂谈
- SVN常用命令
- ThinkPHP中的getLastSql函数---获取上次执行的SQL语句