五、何为Debug(调试版)和Release(发行版)

本文探讨了高级语言编译过程中优化的重要性及其对代码效率的影响,并解释了为何需要区分调试版与发行版,以及这两种版本的具体含义。

      在高级语言出现的早期,很可能根本就没有这个区别。高级语言被编译成可执行的机器代码,一种版本就足够了。

但是人们发现那些可执行的机器码是可以被优化的。比如说已经定义了但没有使用的变量、根本不可能执行到的代码,

完全可以去除。一些跳转来跳转去的复杂逻辑,可以用简单的跳转替代。一些多余指令才达到目的的情况,实际上用

一条指令就足够了。连续不断的优化操作,是最终编译越来越简洁、高效。

 

      但是这又出现了另一个问题。当bug发生时,开发者需要调试。然而经过优化的代码,常常看上去已经和原来的

高级语言逻辑大相径庭(虽然它们之间的功能应该是等价的)。这样以来调试者就往往摸不着头脑。此时就希望编译

器不要优化或者少优化,于是出现所谓“调试版”和“发行版”的区别。调试版基本不优化;发行版则一般都优化到极致。
在windows应用程序编程中 ,一般称为Debug版本和Release版本。但是这个名字并非放之四海而皆准,比如

windows驱动开发中,又一般称为check版本和Free版本。但是意义是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值