vs中Debug和Release编译上的区别
2013-12-21 23:29
441 查看
在这个文章里有比较专业的解释/article/8754453.html
本文章只是自己实验验证的一个记录。
自己的理解,Debug和Release就是不同编译选项集合的配置选项。
为方便新程序员调试和开发,不必深入了解编译器选项而设立的。
自己也可以建立新的编译配置选项,叫Debug2,Debug3都可以(http://msdn.microsoft.com/zh-cn/library/t1hy4dhz%28v=vs.90%29.aspx)。
下面就是VS2010中新建控制台程序默认Debug和Release的编译选项的比较。
![](http://img.blog.csdn.net/20131221232353703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRmVuZ19fX19fXw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
从图中可以看出:
1,预编译的宏不一样,_DEBUG,NDEBUG。_DEBUG打开编译调试代码开关(主要针对
assert函数)。
2,输出文件路径不一样,/Fp,/Fa,/Fo,/Fd。
3,优化上的区别,debug编译上未优化。/O2 Relase运行最快选项。
/O2 maximize speed
/Od disable optimizations (default)
/Oi[-] enable intrinsic functions
4,/Zi,/ZI。/ZI 创建编辑继续数据库,这样在调试过程中如果修改了源代码不需重新编译。
/Zi enable debugging information
/ZI enable Edit and Continue debug info
5,/Gm 打开最小化重链接开关,减少链接时间。/Gm[-] enable minimal rebuild
下面的一些选项就是不晓得什么意思,以后有时间查查。
/Gy[-] separate functions for linker
/RTC1 Enable fast checks (/RTCsu)
本文章只是自己实验验证的一个记录。
自己的理解,Debug和Release就是不同编译选项集合的配置选项。
为方便新程序员调试和开发,不必深入了解编译器选项而设立的。
自己也可以建立新的编译配置选项,叫Debug2,Debug3都可以(http://msdn.microsoft.com/zh-cn/library/t1hy4dhz%28v=vs.90%29.aspx)。
下面就是VS2010中新建控制台程序默认Debug和Release的编译选项的比较。
从图中可以看出:
1,预编译的宏不一样,_DEBUG,NDEBUG。_DEBUG打开编译调试代码开关(主要针对
assert函数)。
2,输出文件路径不一样,/Fp,/Fa,/Fo,/Fd。
3,优化上的区别,debug编译上未优化。/O2 Relase运行最快选项。
/O2 maximize speed
/Od disable optimizations (default)
/Oi[-] enable intrinsic functions
4,/Zi,/ZI。/ZI 创建编辑继续数据库,这样在调试过程中如果修改了源代码不需重新编译。
/Zi enable debugging information
/ZI enable Edit and Continue debug info
5,/Gm 打开最小化重链接开关,减少链接时间。/Gm[-] enable minimal rebuild
下面的一些选项就是不晓得什么意思,以后有时间查查。
/Gy[-] separate functions for linker
/RTC1 Enable fast checks (/RTCsu)
相关文章推荐
- VS编译Debug和Release的区别
- VS中的Debug 和 Release 编译方式的本质区别
- VS系列软件中debug和release编译环境有什么区别
- [转] 关于VS中区分debug与release,32位与64位编译的宏定义
- VS中release和debug区别
- [转] 关于VS中区分debug与release,32位与64位编译的宏定义
- VS中Debug版本和Release版本的区别
- VS编译时自动引用Debug|Release版本的dll
- VS.Net中的Debug和Release模式有何区别?
- VS Debug与Release版本的区别
- Debug 和 Release 编译方式的本质区别
- Debug 和 Release 编译方式的本质区别
- 关于VS中区分debug与release,32位与64位编译的宏定义
- 【转】VC2005 Debug 和 Release 编译方式的区别
- Debug 和 Release 编译方式的本质区别
- VS中Debug模式和Release模式的区别
- vs中debug和release版本的区别
- VS中生成、清理项目、调试、开始执行(不调试)、Debug 和 Release等之间的区别
- VS中Debug模式和Release模式的区别
- Debug 和 Release 编译方式的本质区别