debug版本和release版本有什么区别??

一夜了
人工智能领域优质创作者
2016-07-28 01:17:41
请问各位大神,debug和release版本有什么区别??越具体越好。。。另外,32位和64位对变量分配的内存最大值有没有限制。
...全文
2045 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CT8100 2016-07-29
  • 打赏
  • 举报
回复
引用 4 楼 u010165006 的回复:
[quote=引用 3 楼 iloveyou418 的回复:] 。。。简单的说一个是调试给自己看得,另一个是生成给别人用的,从编译的角度看re会比de快很多,如果一个用户没有编程软件的话,得到de版本也是没法使用的,但是re版本能正常使用。
debug版本为什么没法使用?debug版本也可以不需要dll的。[/quote] 修正一下,加一个可能,言语不严谨都给你发现了~
slmax1 2016-07-29
  • 打赏
  • 举报
回复
多一些调试信息。
maoyin1234564 2016-07-28
  • 打赏
  • 举报
回复
Debug版本主要是方便调试。Debug版本的代码没有经过优化,有问题可以比较准确的定位到哪个文件,哪一行附近。但debug版本没进过优化,所以一般生成的文件比较大,运行效率比较慢, 在一些大的系统中甚至要慢一个数量级以上。 Release版本主要是最终发布的,代码经过优化,运行效率比较高。
ooolinux 2016-07-28
  • 打赏
  • 举报
回复
引用 3 楼 iloveyou418 的回复:
。。。简单的说一个是调试给自己看得,另一个是生成给别人用的,从编译的角度看re会比de快很多,如果一个用户没有编程软件的话,得到de版本也是没法使用的,但是re版本能正常使用。
debug版本为什么没法使用?debug版本也可以不需要dll的。
CT8100 2016-07-28
  • 打赏
  • 举报
回复
。。。简单的说一个是调试给自己看得,另一个是生成给别人用的,从编译的角度看re会比de快很多,如果一个用户没有编程软件的话,得到de版本也是没法使用的,但是re版本能正常使用。
漠落雨 2016-07-28
  • 打赏
  • 举报
回复
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 合并重复的字符串,并将字符串常量放到只读内存,防止被修改
  • 打赏
  • 举报
回复
编译选项不同,本质上没啥区别,只是人为的区分开。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧