• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

APUEChapter7(3)–MemorylayoutofaCprogram

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一个C语言的可执行程序(a.out)通常被分成以下几个部分:

   · Text segment: 即汇编中的.text segemnt。machine instruction, sharable, only one copy in memory, read-only

   · Initialized data: 即汇编中的.data segment。是已经初始化的数据。是出现在所有的程序之外的变量(全局变量)。

   · Uninitialzed data: 即汇编中的.bss segment(“block started by symbol”)。这些变量也是出现在所有程序之外(全局变量),并且由kernel初始化为0或者NULL。

   · Stack: 存放automatic variables(local variables). Store information to call a (new) function.

   · Heap: dynamic memory allocation.

 

    

 

     在我们磁盘中存储的C语言可执行文件(a.out)中,只保存着text 和 data两个segment。(当然还有一些其他的信息,比如链接信息等等。这些信息在程序执行时不会被放到内存中)。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
一个包含所有C++头文件的头函数发布时间:2022-07-13
下一篇:
JavaScript获取后台C#变量以及后台方法发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap