Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 主堆中立即出现堆损坏/错误分配问题_C++_Main_Heap Corruption - Fatal编程技术网

C++ 主堆中立即出现堆损坏/错误分配问题

C++ 主堆中立即出现堆损坏/错误分配问题,c++,main,heap-corruption,C++,Main,Heap Corruption,所以我一直在尝试解决我的问题,虽然我不能发布任何大量的源代码(NDA),但我可以发布一小部分,我想在程序启动时获得一些关于什么可能导致这种问题的信息 int main(int aArgumentCount, char** aArguments) { LZ_CHECK_MEMORY_QXL; LZ_CHECK_MEMORY_QXL; LZ_CHECK_MEMORY_QXL; LZ_CHECK_MEMORY_QXL; // ... Etc } define

所以我一直在尝试解决我的问题,虽然我不能发布任何大量的源代码(NDA),但我可以发布一小部分,我想在程序启动时获得一些关于什么可能导致这种问题的信息

int main(int aArgumentCount, char** aArguments)
{
    LZ_CHECK_MEMORY_QXL;
    LZ_CHECK_MEMORY_QXL;
    LZ_CHECK_MEMORY_QXL;
    LZ_CHECK_MEMORY_QXL;

    // ... Etc
}
define所做的只是扩展到一个函数,该函数分配一个15000000大小的整数数组,然后立即删除它

但是,在我们的应用程序中,该分配的第一次/第二次调用会立即导致std::bad_alloc崩溃


是否有人有任何我应该深入研究以发现此问题的指针?

std::bad\u alloc
表示程序无法分配您希望它分配的内存。15000000个整数的大小为600 MiB或1.2 GiB,具体取决于您的系统和编译器。这种大小的单个内存块的分配可能远远超出您的操作系统/系统的能力,因此它失败也就不足为奇了。您将需要使用另一个数据结构而不是单个巨型阵列。

是否分配更少的内存?