一、概述
每一个链接过程都由链接脚本(linker script,一般以lds作为文件的后缀名)控制。链接器脚本主要用于规定如何把输入文件内的section放入输出文件内,并控制输出文件内各部分在程序地址空间内的布局。
二、脚本构成
2.1基本构成:段
一个可执行程序通常是由:代码段(text),数据段(data),bss段构成的。同样,在用于链接这个程序的链接器脚本中,就会反应出这几个段的信息。
代码段:存放程序中的代码。
数据段:存放全局变量。
bss段:存放未初始化的全局变量。
2.2设置起始链接地址
代码存放的位置,那这个地址有什么影响呢?(这个先保留等以后在补上)
2.3对齐设置
arm处理在访问时采用4字节对齐的方式,所以我们在存放数据的时候也应该采用4字节对齐,这样可以大大提高访问效率。
2.4使用变量
添加变量为了方便使用。
2.5设置代码段的首文件
通常一个程序有好几个代码文件组成,哪个文件应该是第一个要链接的文件呢?