0x771515ee Microsoft C++异常时未处理的异常:内存位置 0x0049f904 处的 std::ba
Unhandled exception at 0x771515ee Microsoft C++ exception: std::bad_alloc at memory location 0x0049f904
我需要分配一个非常大的数组 有没有办法分配一个没有这种类型的错误的数组? 请注意,我在不使用矢量的情况下有 8 GB 内存这正是错误
Unhandled exception at 0x771515ee in __ Microsoft C++ exception:
std::bad_alloc at memory location 0x0049f904..
这是我代码的一大块
#include<cstdlib>
int main()
{
size_t arraySize =1024*1024*1024;
int *a= new int[arraySize];
for (int i = 0; i < arraySize; i++)
{
a[i] = 3;
}
return 0;
}
/* 谢谢大家,我的问题的解决方案是创建一个具有 x64 位操作的新解决方案平台*/
您正在尝试在 32 位进程中分配 4GB 块。那是不可能的。您被限制在 2GB 到 4GB 之间的可寻址空间,但实际上在单个连续块中可用的空间要少得多。
如果你真的需要在单个数组中有一个这么大的块,那么你需要切换到一个 64 位进程。重新考虑您的算法可能是最好的解决方案。
32 位地址空间可能没有 1GB 的连续内存可用(绝对不是 4GB(。必须针对 x64 进行编译。
相关文章:
- (此函数用于计算 SMA).在 FA.exe 中0x00509159引发异常: 0xC0000005:访问冲突读取位置0
- 内存位置出现Microsoft C++异常:std::out_of_range
- 0x0F50DF58:0xC0000005:访问冲突读取位置0x0047CA04时未处理的异常
- 错误 在测试.exe 0x76C9FD62时出现未经处理的异常:Microsoft C++异常:内存位置0x006FF8
- 如何找出浮点异常的位置
- C 获取std :: out_of_range异常的位置
- cv:内存位置的异常 - 运行 openCV 代码 Visual Studio 2013 & Visual Studio 2017 - Windows 7
- Microsoft C++异常runtime_error在内存位置(代码 0x75A818A2)
- 在 "<name>.exe" 中0x00007FFF168E1657 (vcruntime140d.dll) 引发异常:0xC0000005:访问冲突写入位置0x0000000000000
- 未经治疗的异常访问违规写作位置
- cv::内存位置出现异常错误
- 如何在 VS C++ 中查找发生异常的位置
- 在cv::Mat对象上循环时,内存位置出现cv::异常
- 如何修复<程序名称>中的"<内存位置>未处理的异常。Visual Studio 2017 中的访问冲突写入位置<内存位置>"
- OpenGL:glDrawArrays()引发异常(nvoglv32.dll)读取位置0x00000000时发生访问冲突
- ***读取位置*******的访问冲突处出现未处理的异常
- 在2.exe中的0x00DE181818的未经手法异常:0xc0000005:访问违规写作位置0xcd7cbe10
- NVIDIA 在 <work.exe>0xC0000005 中0x002a2da2未处理的异常:访问违规读取位置0x00000000
- 未处理的异常..访问冲突写入位置
- 在 DirectXGame.exe 中0x00B84CD6出现未经处理的异常:0xC0000005:访问冲突读取位置0x