C程序。。内存分配的问题。。。。。。。。。。
我在百度文库中看到C语言编译过程详解:
http://wenku.baidu.com/view/8976aeb765ce05087632130a.html
其中讲到:编译后的目标文件OBJ由段组成。通常一个目标文件中至少有两个段:
1) 代码段:该段中所包含的主要是程序的指令。该段一般是可读和可执行的,但一般却不可写。
2) 数据段:主要存放程序中要用到的各种全局变量或静态的数据。一般数据段都是可读,可写,可执行的。
那么我想问:
1.编译后的目标文件OBJ的结构是像汇编程序那样,由段组成的吗?(照文中的意思,编译后的OBJ是分段形式的,是由段组成的)。
2.编译后的obj文件有没有堆段、栈段????
还有:全局变量在编译完毕后,其在data area区的逻辑地址(段地址:偏移量)是固定不变的,
从逻辑地址这个角度来说,全局变量的内存地址是不变的。
http://wenku.baidu.com/view/8976aeb765ce05087632130a.html
其中讲到:编译后的目标文件OBJ由段组成。通常一个目标文件中至少有两个段:
1) 代码段:该段中所包含的主要是程序的指令。该段一般是可读和可执行的,但一般却不可写。
2) 数据段:主要存放程序中要用到的各种全局变量或静态的数据。一般数据段都是可读,可写,可执行的。
那么我想问:
1.编译后的目标文件OBJ的结构是像汇编程序那样,由段组成的吗?(照文中的意思,编译后的OBJ是分段形式的,是由段组成的)。
2.编译后的obj文件有没有堆段、栈段????
还有:全局变量在编译完毕后,其在data area区的逻辑地址(段地址:偏移量)是固定不变的,
从逻辑地址这个角度来说,全局变量的内存地址是不变的。
...全文
相关推荐
C语言内存分配问题(整理)
### C语言内存分配详解#### 一、C语言中的内存分区C语言中,内存主要分为四个区域:1. **栈区**: - **用途**:用于存储函数的形参、局部变量以及函数调用过程中的相关信息。
深入解析C语言中的内存分配相关问题
避免内存泄漏检测工具来定位可能的问题。总的来说,理解C语言中的内存分配和管理是成为熟练C程序员的关键。通过正确使用malloc、free以及理解内存区域的工作方式,可以编写出更高效、更健壮的程序。
C语言内存分配问题C语言内存分配问题.docx
C语言内存分配问题详解在C语言中,内存分配是一个非常重要的概念。正确地分配和释放内存对于程序的正确性和性能至关重要。
C语言小程序
C语言练习程序。。。。。。。。。。。发送地址还是发送内容
c语言求解的数独问题
c语言求解的数独问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


