debug版本与release版本

来源:互联网 发布:阿里云推广 产品 编辑:程序博客网 时间:2024/05/01 10:28

debug为调试版本,其中包括了出错时能够定位源代码的行,如果源文件已经改变,定位出来会有偏移,而且,在这个版本中编译器不会进行代码优化,并且在程序中能用宏定义_DEBUG来确定当前的版本。另一个为正式版本,程序出错只是进行简单的错误处理,编译器会优化代码,以提高性能。release代码更小,执行更快,编译更严格,更慢,当然就没有了调试信息。debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。


1.debug运行成功release版本运行失败的原因(可通过printf函数定位错误的位置)

(1)变量没被初始化就被引用

(2)数组越界

(3)项目的属性配置,例如配置属性->C/C++->预处理器定义,添加或缺少宏定义

(4)命令行参数长度太长




2.debug运行失败release版本运行成功的原因

(1)Runtime Library


0 0