物理地址、虚拟地址、连接地址

参考文章: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在内存中存储的第一条指令地址

  加在地址==存储地址    

    本质上区别不大

posted @ 2021-05-16 16:59  我爱茜茜公主  阅读(161)  评论(0)    收藏  举报