关于debug和release相关的一句话的理解 我在看书学习的时候发现这么一句话:“在你开发商用软件的任何一个程序时,都不要使用Debug进行编译调试,一定要用Release进行工作,否则后患无穷。”《编程高手箴言》里边的原话。我不是高手,写程序也一直用Debug调试,只知道软件发布的时候要编译成release版本来简化大小和优化速度,至于后患无穷根本没有什么感知,这后患体现在什么地方?望高手不吝赐教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “不要使用Debug进行编译调试,一定要用Release进行工作”前者说的是调试,后者又变成“工作”了,有点怪异的说 感觉是不是debug测试通过以后,在release下一定要把所有问题都验证一遍?因为的确很多情况下会造成debug和release出现不同效果的问题 这句话应该是告诉我们,要经常用Release版本运行程序,不要到了全部开发完成才切换Release编译,因为两者编译后,运行的结束不尽相同。意思是告诫我们要时刻提醒自己,最终发布的是Release版本。 继续看书发现了一个模糊答案:Debug模式下编译环境添加了很多堆栈检查和变量初始化的功能代码,在release版本下是没有的,书中有一个例子,不过是在汇编层次下的堆栈,好长,我也没看懂。 4楼是不错的理解方式作者是因为顾忌debug版本的检查会隐藏一些问题但是另一方面(我以为是多数情况下) debug版本的检查同样能让很多问题更早暴露出来 release很多时候碰到可能出错的问题 会找一个变通的办法(却未必是你想要的逻辑)凑合着让你继续过 该书我以前在书店看过一部分 不乏偏激的地方 需要自己斟酌 应该是“不仅要使用Debug进行编译调试,一定还要用Release进行工作” 个人认为:Debug和release是不同的编译环境,不能作为产品的依靠,依靠的应该是,自己良好的编程习惯。 打印及打印预览问题 如何封装WinMain函数? 一个实际应用的小问题 ON_COMMAND_RANGE 在Release下有问题, 求救啊 如何在一个窗体上更新另一个窗体上的框件 超人扮演者 克里斯托弗·里夫辞世 弱弱的问! accept的问题? 麻烦大侠帮帮忙! 请问如何将打印设置中默认纵向打印改为横向打印 计算机专业的要不要考个计算机三级或者四级证书充充胖子呢??? C++大学教程中第9章类的例子的一个问题
前者说的是调试,后者又变成“工作”了,
有点怪异的说
感觉是不是debug测试通过以后,在release下一定要把所有问题都验证一遍?
因为的确很多情况下会造成debug和release出现不同效果的问题
作者是因为顾忌debug版本的检查会隐藏一些问题
但是另一方面(我以为是多数情况下) debug版本的检查同样能让很多问题更早暴露出来 release很多时候碰到可能出错的问题 会找一个变通的办法(却未必是你想要的逻辑)凑合着让你继续过 该书我以前在书店看过一部分 不乏偏激的地方 需要自己斟酌