Debug和Release
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
release模式下不出错,但debug模式下报错。
这种情况下大多也是因为代码书写不正确引起的,查看MFC的源码,可以发现好多ASSERT的语句(断言),这个宏只是在debug模式下才有效,那么就清楚了,release版不报错是忽略了错误而不是没有错误,这可能存在很大的隐患,因为是Debug模式下,比较方便调试,好好的检查自己的代码,再此就不多说了。
Debug与Release不同的问题在刚开始编写代码时会经常发生,99%是因为你的代码书写错误而导致的,所以不要动不动就说系统问题或编译器问题,努力找找自己的原因才是根本。我从前就常常遇到这情况,经历过一次次的教训后我就开始注意了,现在我所写过的代码我已经好久没遇到这种问题了。下面是几个避免的方面,即使没有这种问题也应注意一下:
1. 注意变量的初始化,尤其是指针变量,数组变量的初始化(很大的情况下另作考虑了)。
2. 自定义消息及其他声明的标准写法
3. 使用调试宏时使用后最好注释掉
4. 尽量使用try - catch(...)
5. 尽量使用模块,不但表达清楚而且方便调试。
VC6.0将程序打包成一个可执行文件(release)
(1)控制台应用程序
首先打开程序,工程—>设置,左侧下拉列表选择Win32 Release,右侧"Microsoft 基础类",不选择,确定。
然后选择组建—>批组建,去掉debug前面的钩,保留release前面钩,确定,完成。完成之后会在主目录下生成Release文件夹,里面的exe文件拷出来可以独立运行。
(2)MFC程序
首先打开程序,工程—>设置,左侧下拉列表选择Win32 Release,右侧"Microsoft 基础类",选择“使用MFC作为静态链接库”,确定。
然后选择组建—>批组建,去掉debug前面的钩,保留release前面钩,确定,完成。
完成之后会在主目录下生成Release文件夹,里面的exe文件拷出来可以独立运行。