卫生间防水胶水:请问vc里“debug"和”“release"这两种“结构(configuration)"有什么区别?

来源:百度文库 编辑:神马品牌网 时间:2024/05/07 05:08:26

vc在build的时候可以选择性的编译成debug版本获release版本,一般debug版本是内部调试时使用,release版本是给用户时使用。
区别,举个简单的例子吧:
assert断言只在debug版本有效,在release版本无效

debug方式编译器会用比较严格的标准生成可执行文件,在链接后的exe中放置调试用的符号信息。很多调试宏也在debug方式下有效,例如ASSERT,TRACE等,这些措施对与debug很重要,但是产生的exe比较大,执行速度也要慢一些。

release方式编译器会使用优化方式产生exe文件,而且不放符号信息,所以文件小而且执行速度快,但是程序无法报告一些破坏规则的用法,例如对字符常量的修改,以及无法跟踪调试源代码。