这几天写的算法用于海量数据处理。然后挺悲剧的是程序在处理大量数据的时候很快就抛出 std::bad_alloc,然后自动退出了。等了n久的结果啊 ,就这么一下没了。 回头看看代码,不知道为什么,就是动态申请使用的非常多,可能是野指针,也可能是在动态申请的时候,一下超过了2G,电脑罢工了……后来使用内存池,好多了。关于这个异常 这里 有个不错的说明。
关于release 和debug版,不止是有没有调试信息那么简单,可以看这里。其中有个关于内存分配的原则,就是release版中申请多少,给多少,而debug版中则是按照32位对齐的原则,所以内存使用会有进一步的差别。