CMD文件中的段定义

CMD文件中的段定义

1. 汇编器对块的处理

未初始化块

.bss 变量存放空间

.usect 用户自定义的未初始化段

初始化块

.text 汇编指令代码

.data 常数数据(比如对变量的初始化数据)

.sect 用户自定义的已初始化段

.asect 通.sect,多了绝对地址定位功能,一般不用

2. C语言的段

未初始化块(data)

.bss 存放全局和静态变量

.ebss 长调用的.bss(超过了64K地址限制)

.stack 存放C语言的栈(为程序系统堆栈保留存储空间,用于保存返回地址、函数间的

参数传递、存储局部变量和保存中间结果)

.sysmem 存放C语言的堆(用于程序中的malloc 、calloc 、和realoc 函数动态分配存

储空间)

.esysmem 长调用的.sysmem(超过了64K地址限制)

初始化块

.text 可执行代码和常数(program)

.switch switch语句产生的常数表格(program/低64K数据空间)

.pinit Tables for global constructors (C++)(program)

.cinit 用来存放对全局和静态变量的初始化常数值(program)

.const 全局和静态的const变量初始化值和字符串常数,(data)

.econst 长.const(可定位到任何地方)(data)

.far 为程序中用far声明的全局和静态变量保留空间

.cio printf等输入输出函数使用的缓冲区所在的段

注意:

>> warning: creating .stack section with default size of 400 (hex) words. Use

-stack option to change the default size.

>> warning: creating .sysmem section with default size of 400 (hex) words. Use

-heap option to change the default size.

CMD文件中的段定义

1. 汇编器对块的处理

未初始化块

.bss 变量存放空间

.usect 用户自定义的未初始化段

初始化块

.text 汇编指令代码

.data 常数数据(比如对变量的初始化数据)

.sect 用户自定义的已初始化段

.asect 通.sect,多了绝对地址定位功能,一般不用

2. C语言的段

未初始化块(data)

.bss 存放全局和静态变量

.ebss 长调用的.bss(超过了64K地址限制)

.stack 存放C语言的栈(为程序系统堆栈保留存储空间,用于保存返回地址、函数间的

参数传递、存储局部变量和保存中间结果)

.sysmem 存放C语言的堆(用于程序中的malloc 、calloc 、和realoc 函数动态分配存

储空间)

.esysmem 长调用的.sysmem(超过了64K地址限制)

初始化块

.text 可执行代码和常数(program)

.switch switch语句产生的常数表格(program/低64K数据空间)

.pinit Tables for global constructors (C++)(program)

.cinit 用来存放对全局和静态变量的初始化常数值(program)

.const 全局和静态的const变量初始化值和字符串常数,(data)

.econst 长.const(可定位到任何地方)(data)

.far 为程序中用far声明的全局和静态变量保留空间

.cio printf等输入输出函数使用的缓冲区所在的段

注意:

>> warning: creating .stack section with default size of 400 (hex) words. Use

-stack option to change the default size.

>> warning: creating .sysmem section with default size of 400 (hex) words. Use

-heap option to change the default size.


相关内容

  • 网上书店设计与实现
  • 重庆大学网络教育学院 毕业设计(论文) 题目 网上书店设计与实现 学生所在校外学习中心 四川广安校外学习中心 批次 层次 专业 121专科起点本科 计算机科学与技术 学 号 W12111558 学 生 吴 清 指 导 教 师 屈 松 起 止 日 期 2013 年7月1日至 2013年8月21日止 摘 ...

  • 用 Mac 提升工作效率的 5 种方法
  • 极客公园05-17 16:56 本文转载自 MrPeak 技术分享,极客公园已获得转载授权. Mac 系统一向以提供高效的工作环境著称,iOS,Android 和 server 端程序员都可以轻松的在 Mac 上搭建舒适的开发环境.笔者主要从事 iOS 开发,一般在 macbook 上工作,以下是这 ...

  • 总结几种log打印printf函数的宏定义
  • 总结几种log打印printf函数的宏定义 分类: C语言--永远的学习 2009-09-15 22:16 1767人阅读 评论(0) 收藏 举报 http://blog.chinaunix.net/u1/38994/showart_1168773.html [c-sharp] view plain ...

  • 通信系统工程实践报告
  • 姓名: 学号: 学院:信息学院 专业:通信工程 指导老师: 时间:2015年12月22日 通信系统工程实践报告 一.创建一个新的工程 1. Project →Project Wizard-→点击下一步→选择芯片→选择Toolsuite 并确保没有打叉,设置储存位置→点击下一步→创建新的工程文件,选择 ...

  • 软件工程概要设计模板
  • 变更状态:A – 增加 M – 修改 D – 删除 目 录 1引言..................................................................................................................... ...

  • 软件项目开发管理系统
  • 软件项目开发管理系统 摘 要 软件项目开发管理系统在相关企业进行生产的管理中有着广泛的应用,它有利于提高企业对软件项目开发过程中的信息管理.系统研究的目的.意义.现状和发展趋势都有所说明. 这里设计的系统所要实现的功能包括测试管理功能.验收管理功能.文档管理功能和用户管理功能.为了实现系统的各项信息 ...

  • 餐饮管理系统数据库课程设计论文
  • 河南科技大学 课 程 设 计 说 明 书 课程名称 程序设计方法课程设计 题 目酒店餐饮管理系统的设计 院 系 经济与管理学院 班 级 信管122 学生姓名 韦一 指导教师 靖恒昌 日 期 2012年12月20日 课程设计任务书 (指导教师填写) 课程设计名称 程序设计方法课程设计 学生姓名 韦一 ...

  • bat批处理
  • 大家知不知道默认共享这回事?这东西用不着的地方可就不是好东西了.所以就要删掉.但这东西是每次系统重起后都会重新创建的.所以每次都要重新打开cmd重新删掉一下.极为麻烦.但有了批处理文件就不一样了,先把命令输入到批处理文件中,然后加入到启动项中,每次启动就会自动运行,免去了每次输入命令的麻烦.至于怎么 ...

  • 有趣的电脑技巧
  • 有趣的电脑技巧 来源:未知 | 作者:admin | 本文已影响 9851 人 一.电脑显示喜爱的名字 二.建立自己的秘密文件夹 三.查看秘密网页 四.破解不能使用鼠标右键的网站 电脑显示喜爱的名字 电脑上显示你宝宝或你爱人/心上人的名字或是你喜欢的文字,这样你只要开机坐在电脑前,就能看到: 点&q ...