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

参考文章: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 @   我爱茜茜公主  阅读(155)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示