可执行程序包括BSS段、数据段代码段(也称文本段)。
一.BSS
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。
注意和数据段的区别,BSS存放的是未初始化的全局变量静态变量,数据段存放的是初始化后的全局变量和静态变量。
UNIX下可使用size命令查看可执行文件的段大小信息。如size a.out。
二.数据段
在采用段式内存管理的架构中,数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。
数据段,代码段在程序运行之前就已经确定了的。
三.代码段
在采用段式内存管理架构中,代码段(code segment / text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许自修改程序。 在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。

最新文章

  1. 例如筋斗云的效果,但不通过offset定位的flag标记
  2. Android Studio tips1
  3. c++算法应用 预备
  4. python 中接口的实现
  5. URAL1018 Binary Apple Tree(树dp)
  6. SQL2012之FileTable与C#的联合应用
  7. 【转】android电池(五):电池 充电IC(PM2301)驱动分析篇
  8. 使用nginx实现纯前端跨越
  9. MongoDB与Spring整合(支持事务)——SpringDataMongoDB
  10. virtual box centos7 common operation
  11. C#基础-gc算法
  12. npm和yarn的使用对比
  13. 【375】COMP 9021 相关笔记
  14. swift 动画
  15. Jenkins中Publish Over SSH插件使用
  16. List To Json
  17. Html-知识总结
  18. java分页三个类 PageBean ResponseUtil StringUtil
  19. 求int最大值以及int二进制
  20. java基础(1-50)-------->超级简单,不信你不会!!!

热门文章

  1. hdu 4454 Stealing a Cake 三分法
  2. 【BZOJ 2300】 2300: [HAOI2011]防线修建 (动态凸包+set)
  3. codeforces #313 div1 D
  4. UIWebView和UIWebViewDelegate的基本用法
  5. 雷军北大演讲:除了聪明和勤奋我们还需要什么(关键是有了梦想以后,你能不能把这个东西付诸实践)good
  6. Java IO5:序列化与反序列化
  7. 安装Hadoop系列 — 安装JDK-8u5
  8. 各种不会。。。。编译和安装hadoop过程中好多命令和工具不会
  9. PHP 简单的加密解密算法
  10. ubuntu12.04升级后找不到共享目录