debug和release版本的区别

 我来答
睦蕾郑雁
2019-09-28 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:26%
帮助的人:984万
展开全部
Debug版本就是调试版本,Visual
C++
6.0默认的就是Debug版本。在Debug版本中,可以使用单步执行、跟踪等功能,但其生成的可执行文件比较大,代码运行比较慢。Release版本就是发行版本,其运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。
还有一点,Release版本的exe文件链接的目标是标准的MFC
DLL(Use
MFC
in
a
shared
or
static
dll)。比如MFC42.DLL。这些DLL在安装windows的时候,就会装到系统中。因此,这样的exe在没有安装Visual
C++
6.0的机器上也能运行。而Debug版本的exe链接了调试版本的MFC
DLL文件,比如MFC42.DLL。在没有安装Visual
C++
6.0的机器上不能运行,因为缺少MFC42D.DLL等,除非选择use
static
dll
when
link。
Debug版本中包含大量的调试信息,所以我们能够单步执行、Watch表达式等等,而release版本仅包含我们的代码。由于要利于程序的测试,Debug版本的程序附带很多测试信息和测试程序时才需要的代码,所以Debug版本的程序需要VC的Debug(注意这里不是指程序的Debug,而是指VC的调试器)才能运行。而Release版本就不具有这些特性,所以在Release版本的程序上不能做调试!打包就相当于将你制作的东西发布出去,应该是优化过的代码,当然要用发布版本,即Release版本。
两者所用的动态连接库是不一样的,Release版本所需要的dll和lib已经包含在Windows的system(或者system32)下,所以只需要拷贝就可以运行了,但是Debug版本需要的dll和lib是在安装vc时装上去的,如果你想直接将debug版本给用户,需要拷贝几个文件,但这样显得很臃肿,一般来说不可取。
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
容颖卿封画
2019-09-26 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:33%
帮助的人:729万
展开全部
debug版本包含调试信息,编译器生成的代码方便调试
release版本算是发布版本,release下不能调试,生成的文件更小,编译器生成的程序速度更快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式