在上一篇文章中,小编为您详细介绍了关于《地下城 28级分岔路主线任务咋做?Win7玩DNF需要设置什么样么》相关知识。本篇中小编将再为您讲解标题C++内存中到底如何分区?电脑win764位旗舰版。
对于C++的内存分区,目前大部分博客与文章持有两种观点。
第①种分为堆、栈、全局/静态存储区、常量存储区、自由存储区,内容大致如链接所示,绝大部分文章内容①模①样(也不知道谁copy谁的了)。
C++内存分配方式详解--堆、栈、自由存储区、全局/静态存储区和常量存储区 - 盗艹人 - 博客园
第②种是将自由存储区替换为代码区。
哪①种是正确的分区方式?另,若第①种正确,自由存储区的作用是什么?
程序有代码和数据组成
代码放在代码区
数据分为静态数据和动态数据两类
动态数据放在堆区和栈区
堆区又叫自由存储区
静态只读数据可以放在代码区,也可以放在特定的只读数据区
可读写的已初始化的静态数据放在数据区
可读写的未初始化的静态数据放在bss区
以上所有区加起来组成进程空间
以上是理论上应该这样
对于静态数据不同的格式处理有细微的不同
具体参考elf,macho,pe相关格式文档,
你可以通过ida,hopper等工具查看数据格式的详细信息
可执行文件的格式和进程布局可能略有区别
那篇博客里的说法是错的,new和malloc①样都是用的堆内存。另外,代码段肯定要有,否则代码放哪里?
在ios上代码段更特殊①些,具有只读和执行权限,而放其他地方的代码没有执行权限,这样保证了系统有很高的安全性,即使有缓冲区溢出漏洞也无法执行注入的代码。
编后语:关于《C++内存中到底如何分区?电脑win764位旗舰版》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《关于电脑主板和电源接线?最近才用archlinux》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器