Memory 程序内存分配
我正试图了解程序内存在运行时的分配方式以及程序的不同部分(如果这是正确的话)。我快到了,但还不完全到,需要一点帮助 我知道该程序包含一个.data部分,其中包含初始化全局变量的只读和读写内存。我知道.bss部分用于未初始化的全局变量和静态变量,并且是读写的。我了解堆和堆栈 以下问题说明了我的困惑:Memory 程序内存分配,memory,assembly,Memory,Assembly,我正试图了解程序内存在运行时的分配方式以及程序的不同部分(如果这是正确的话)。我快到了,但还不完全到,需要一点帮助 我知道该程序包含一个.data部分,其中包含初始化全局变量的只读和读写内存。我知道.bss部分用于未初始化的全局变量和静态变量,并且是读写的。我了解堆和堆栈 以下问题说明了我的困惑: 什么是.rodata部分?它存在于哪里 数据是如何生成的?MASM中的节与.data节不同 是否每个程序都必须有标准的.data、.bss、.code节, 或者这些公约仅仅是指导方针 什么决定了哪些部
.rodata
用于只读数据,即常量和文字,请参阅.data?
用于未初始化数据,也称为.bss
分段数据,.data
用于初始化数据.data
和和.code
是相当标准的,但是,您仍然应该始终检查PE,这就是它存在的原因
特征
字段(同样,这仅适用于Windows,您需要为您选择的操作系统使用PE布局)