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

一夜了 2016-07-28 01:17:41
请问各位大神,debug和release版本有什么区别??越具体越好。。。另外,32位和64位对变量分配的内存最大值有没有限制。
...全文
1587 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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 合并重复的字符串,并将字符串常量放到只读内存,防止被修改
回复
编译选项不同,本质上没啥区别,只是人为的区分开。
回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2016-07-28 01:17
社区公告
暂无公告