我有一个小的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位编译器的指示,但是无论我做什么,我都会收到相同的错误。任何帮助将不胜感激。谢谢!
我知道以前曾问过这个问题,但现有的答案对我没有帮助。感谢您为帮助我发现问题所做的任何尝试。