Debug和Release区别

转载 2015年07月08日 16:35:52
一、Debug 和 Release 的区别 

        Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

 Debug 和 Release 的真正区别,在于一组编译选项。 
Debug 版本   
参数       含义   
/MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)   
/Od 关闭优化开关   
/D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对assert函数)   
/ZI   
创建 Edit and continue(编辑继续)数据库,这样在调试过程中如果修改了源代码不需重新编译   
GZ 可以帮助捕获内存错误  

   
Release 版本 参数含义   
/MD /ML 或 /MT 使用发布版本的运行时刻函数库   
/O1 或 /O2 优化开关,使程序最小或最快   
/D "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数)   
/GF 合并重复的字符串,并将字符串常量放到只读内存,防止被修改  


Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。 


相关文章推荐

为什么我的程序debug版本运行没有问题,而release版本总是报错?

To   楼主   ,我在另外一个类似的贴子作了回答     http://expert.csdn.net/Expert/topic/2955/2955693.xml?temp=.3361933   ...

Debug 运行正常,Release版本不能正常运行

 引言     如果在您的开发过程中遇到了常见的错误,或许您的Release版本不能正常运行而Debug版本运行无误,那么我推荐您阅读本文:因为并非如您想象的那样,Release版本可以保证您的应用程...

COCOS2DX ANDROID 打印不出日志

在Android实机调试时,若是正在eclipse中看没有到LogCat疑息,提醒是: $ adb logcat info: log device is empty! 缘由是体系默许封闭了log,须要...
  • Oo_Oo_
  • Oo_Oo_
  • 2015年12月16日 10:16
  • 2074

cocos2d-x 控制台输出日志

在2dx中用CCLog输出日志,但是在vs的控制台中由于信息很多,很难发现。可以用下面方法,会重新启动一个黑色的控制台来输出日志 修改main.c文件,如下: #include "main.h...

cocos2d-x 安卓release模式下不改c++代码lua脚本输出logcat

coco2d的lua系统对print函数做了重写 bool LuaStack::init(void) { _state = lua_open(); luaL_openlibs(_st...
  • butwang
  • butwang
  • 2017年06月04日 00:56
  • 312

Cocos2dx输出Log的两种方法

一直使用vs2010开发cocos2dx,查看cocos2dx的log也一直使用CCLog来打印到vs2010的输出控制台,同时也可以将log输出到命令行窗口。  log输出方法一: 使用...

cocos2dx中实现拖尾的效果

之前看到拖尾效果感觉挺酷炫的,但是网上很多教程说得并明了,现在我来个简单粗暴的,现在做了一个很菜的效果大家凑合看看,废话不多说,直接上代码: 首先创建一个主角:         bullt = CCS...

如何在已创建好的cocos2dx项目中查看使用引擎的版本号

打开自己的创建的项目,然后找到\cocos2d->docs->RELEASE_NOTES.md(文件),打开该文件,在最上方就能看到:...

关于Debug_release的区别

  • 2011年07月27日 17:39
  • 55KB
  • 下载

Debug和release的详细区别

  • 2012年10月23日 20:53
  • 403KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Debug和Release区别
举报原因:
原因补充:

(最多只允许输入30个字)