Turbo C 的六种编译模式

 Turbo C 的六种编译模式
     编译模式模式有时也叫做寻址模式或内存模式,它处理的就是如何在内存中为程序、数据、堆栈分配空间并存取它们。
    
      微模式(tiny):微模式下整个程序只有一个段,这个段包含代码、静态和全局数据、堆栈和堆。因为只有一个段,在执行时DOS将把寄存器 CS、DS、SS设置后是堆,最后是堆栈。堆栈和堆都是动态的,对从低地址往高地址增长,堆栈从高地址往低地址增长,若两者相等,则表示空间耗完了。

    小模式:小模式是最常用的模式,小模式和微模式一样都是小数据和小程序,但是它的码和数据/堆栈/堆段是分开的,所以CS不等于DS和SS。其次,除了和数据/堆栈共用一个段的堆外,还有一个远堆。

    中模式:在数据、堆栈、堆的分配方面,中模式和小模式是一样的,差别在于码段的分配,中模式下,来自不同源文件的码模块放在不同的码段内。严格的讲,同一个源文件内的各函数也是放在不同的码段的。

    紧凑模式:紧凑模式在概念上是最简单的。码、静态数据、堆栈、堆各有自己的段。堆只有远堆,没有近堆。

    大模式:在静态数据、堆栈、堆的分配方面,大模式等同于紧凑模式,在码的分配方面,大模式等同于中模式。无论在数据指针还是函数指针,一律都是远指针。和紧凑模式一样,静态数据的总量不能超过64K。

    巨模式:巨模式取消了静态数据的总量不能超过64K的的限制,来自不同源文件的码放在不同的段内,来自不同源文件的静态数据也放在不同的段内,只有堆栈是合在一起的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值