关于汇编和C中的数据存储

c_bee 2008-08-01 12:14:51
(其实应该是属于数据结构在两种语言种的差异了):
汇编有数据段、代码段、堆栈段以及附加段,与C语言里这样对应:


数据段——
全局区(全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 程序结束后由系统释放。
).date段
+常量区.rdate段



堆栈段——
堆(malloc/free等分配、回收,由程序员进行操作,若程序员不释放,程序结束时可能由OS回收,分配方式是类似于链表)
+栈(存放函数的参数值,局部变量的值等,由编译器自动分配释放)



代码段——
程序代码区(存放函数体的二进制代码)
====================================

————纯属个人为了理解方便才来挖挖,如果对应的有错误还请高手们不吝赐教
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
c_bee 2008-08-02
  • 打赏
  • 举报
回复
路过的神仙们咋都不说话的...郁闷
c_bee 2008-08-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 c_bee 的帖子:]

数据段——
全局区(全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域BSS段。 程序结束后由系统释放。//补充:bss段:定义而没有赋初值的全局变量和静态变量,放在这个区域
).date段
+常量区.rdate段

[/Quote]
c_bee 2008-08-01
  • 打赏
  • 举报
回复
怎么没人回答呢?
我都不知道现在自己理解的对不对
macfan 2008-08-01
  • 打赏
  • 举报
回复
C也是数据区,代码区,栈区,堆区.

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧