在这个文章里有比较专业的解释http://blog.youkuaiyun.com/chenhu_doc/article/details/932305
本文章只是自己实验验证的一个记录。
自己的理解,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)
本文详细介绍了Visual Studio 2010中Debug和Release模式的编译选项区别,包括预编译宏、输出文件路径、优化级别、编辑继续数据库、最小化重链接开关等,并提供了相关选项的含义解释。
1102

被折叠的 条评论
为什么被折叠?



