Author: 想文艺一点的程序员
自动化专业 工科男
再坚持一点,再自律一点
CSDN@想文艺一点的程序员
来自朱有鹏嵌入式的学习笔记
重定位
一、重定位的引入
1、基本概念引入
位置无关编码:(PIC,position independent code):汇编源文件被编码成二进制可执行程序时编码方式与位置(内存地址)无关。
位置有关编码:汇编源码编码成二进制可执行程序后和内存地址是有关的。
链接地址:链接时指定的地址(指定方式为:Makefile中用-Ttext,或者链接脚本) (预估地址)
运行地址:程序实际运行时地址(指定方式:由实际运行时被加载到内存的哪个位置说了算) (实际运行地址)
我们在设计一个程序时,会给这个程序指定一个运行地址(链接地址)。
就是说我们在编译程序时其实心里是知道我们程序将来被运行时的地址(运行地址)的,而且必须给编译器链接器指定这个地址&