VS2008下Debug和Release的区别
来源:互联网 发布:ubuntu snmp配置 编辑:程序博客网 时间:2024/05/16 10:00
void test();
int _tmain(int argc, _TCHAR* argv[])
{
test();
return 0;
}
void test()
{
double dTest;
if (dTest)
{
cout<<"Test success"<<endl;
}
else
{
cout<<"test fail"<<endl;
}
}
如果该程序在debug下运行,编译是不会出错,运行时会出现如下错误,说dTest没有被初始化,有图有真相:
而在release下不会出现错误,运行通过。至于为什么,如下:
Runtime Library:链接哪种运行时刻函数库通常只对程序的性能产生影响。调试版本的 RuntimeLibrary 包含了调试信息,并采用了一些保护机制以帮助发现错误,因此性能不如发布版本。编译器提供的 Runtime Library通常很稳定,不会造成 Release 版错误;倒是由于 Debug 的 Runtime Library加强了对错误的检测,如堆内存分配,有时会出现 Debug 有错但 Release 正常的现象。应当指出的是,如果 Debug有错,即使 Release 正常,程序肯定是有 Bug 的,只不过可能是 Release版的某次运行没有表现出来而已。
区别2:
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
如果想知道详细的信息,网上搜一下,有很多,包括两个版本下的区别,包括编译选项的、什么情况下会出错等等。
- VS2008下Debug和Release的区别
- VS2008下Debug版本和Release 版本的区别
- vs2008上debug和release的区别
- VS2008 Debug与Release的本质区别
- VS2008 Debug与Release的本质区别
- VS2008 Debug与Release的本质区别
- VS2008 Debug与Release的本质区别
- VS2008 Debug与Release的本质区别
- VS2008 Debug与Release的本质区别
- VS2008 Debug与Release的本质区别
- VS2008 Debug与Release的本质区别
- MFC之VS2008的DEBUG和RELEASE
- debug和release的区别
- debug和release的区别
- debug和release的区别
- Release 和 Debug的区别
- debug和release的区别
- debug和release的区别
- openGL将三维坐标转换成二维坐标在…
- NSLog的输出格式
- opencv之利用opencv_traincascade训练分类器
- Kinect nite2 openNI2 配置遇到的问题
- openCV2.0中对于Mat中存在负值的时…
- VS2008下Debug和Release的区别
- 教程七(对话框)
- 简单工厂模式
- 教程八(属性页表单和逃跑按钮)
- 将博客搬至CSDN
- EventLoop分析[1-4]
- 迭代器模式
- 数据泵导入导出数据库
- php手册