gcc / g++ Debug 模式

Debug模式在GCC/G++中提供了更多的代码检测,但可能带来轻微的性能开销。在Linux下,动态库默认同时支持Debug和release。为了启用Debug模式,需要定义_GLIBCXX_DEBUG宏,并注意不同.o文件的Debug容器一致性。GCC提供了与标准容器行为一致的Debug容器,适用于C++11之前和之后的版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Debug / release模式

  Debug模式下的代码比release模式具有更多的检测,比如在windows平台上assert宏只在release模式下有效。Linux上则没有这个限制,无论Debug还是release模式assert都生效,但是如果你想让assert失效,编译的时候 加上 -DNDEBUG 即可。

Debug检测

  我们都说了Debug模式可以帮我们检测一些东西,但是可能会有额外的性能开销(虽然微不足道)。默认下Linux的动态库文件是集于Debug 和 release于一身的。看看这个列子

#include<vector>
using namespace std;
int main()
{
    vector<int> v;
    v.reserve(10); //容量为10  但是size 为0
    v[3] = 1;
    return 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值