小编Mit*_*tin的帖子

错误:数组的总大小不能超过0x7fffffff个字节

我有一个小的C ++程序,需要一个大型2D数组。

int distanceArray[282][9900000];
Run Code Online (Sandbox Code Playgroud)

我知道,由于32位应用程序的上限为2GB,因此标准的32位控制台应用程序将无法为我的进程分配这么多的内存。但是,尽管事实是我已将编译器配置为使用本机amd64工具集,但在尝试构建应用程序时仍然遇到相同的错误:

Error   C2148   total size of array must not exceed 0x7fffffff bytes
Run Code Online (Sandbox Code Playgroud)

我的系统上有16GB的RAM,因此我知道我的物理内存应该不是问题。如果我的计算正确,则此空间仅会占用大约3GB。但是,我不明白为什么我似乎无法使64位编译器正常工作。我遵循了Microsoft网站上概述如何使用64位编译器的指示,但是无论我做什么,我都会收到相同的错误。任何帮助将不胜感激。谢谢!

我知道以前曾问过这个问题,但现有的答案对我没有帮助。感谢您为帮助我发现问题所做的任何尝试。

c++ memory arrays 64-bit visual-studio

3
推荐指数
2
解决办法
3488
查看次数

标签 统计

64-bit ×1

arrays ×1

c++ ×1

memory ×1

visual-studio ×1