参考文章:https://blog.51cto.com/u_10808847/2052503
参考文章:https://www.cnblogs.com/huangjianxin/p/7708532.html
如果连接地址与程序在内存中的实际存放起始地址不同,当没有位置相关代码时程序运行不会出错;但是如果程序中有位置相关代码,那么运行到位置相关代码时,便会发生错误,因此程序的连接地址必须等于运行地址
参考文章:https://blog.csdn.net/qingkongyeyue/article/details/52298640
参考文章:https://blog.csdn.net/CSDNmianfeixiazai001/article/details/81455692
位置相关代码和位置有关代码区分
位置相关代码
连接地址和运行地址一样的时候
运行地址==连接地址
连接地址和运行地址不一样的时候
出错
位置无关代码
运行地址==连接地址
链接地址:编译器编译的时候,指定a.out中第一条指令的地址
运行地址:a.out在内存中存储的第一条指令地址
加在地址==存储地址
本质上区别不大
原文:https://www.cnblogs.com/chino-ll/p/14774161.html