码迷,mamicode.com
首页 > 其他好文 > 详细

Debug模式下编译溢出问题

时间:2014-06-11 13:00:53      阅读:563      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   com   width   使用   

问题:

代码在Debug模式下编译报出内存溢出的错误,而Release模式下则没有。

由于Debug模式下包含调试信息,并且不作任何优化。而Release模式进行了各种优化,内存检测等操作均省去,使得程序在代码大小和运行速度上都是最优的。

方法1:

猜测Release对代码进行了优化或者根本就没有进行内存检测,才导致Release模式下编译通过的。于是我进行了代码缩减,删除没有用的变量,问题仍然没有解决。

方法2:

       我发现在Debug模式下,main.c文件淡黄色,bubuko.com,布布扣 ,Release模式下仍然为白色,说明Debug模式下,main.C的默认编译功能已经被修改。比较后发现,Debug模式下main.c使用-g编译方式,如图:

bubuko.com,布布扣

在Debug模式下修改main.c为No Debug方式,在编译,问题解决!!!

 

结论:

       使用了-g编译选项,生成的目标问题里面会有一些调试信息,便于用户调试代码使用的。代码在Debug模式下就是增加了这些调试信息,才导致内存不够的。Release模式下并没有使用-g所以才不会报出内存溢出的问题。

Debug模式下编译溢出问题,布布扣,bubuko.com

Debug模式下编译溢出问题

标签:style   blog   http   com   width   使用   

原文地址:http://www.cnblogs.com/mfc1207/p/3772558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!