我希望有人可以帮助我,我正在尝试使用 Visual C++ 2010 在我的应用程序上创建一个 int[400000000] (4 亿)数组,但它会生成溢出错误
相同的代码在 Linux 上使用 g++ 运行。
我需要这个,因为我正在处理大型矩阵。
先感谢您。
如果您使用 32 位应用程序,那么默认情况下您只有 2GB 的用户地址空间。 4亿个整数大约是1.5GB。您很可能没有这么多连续的地址空间。可以强制 32 位 Windows 为每个进程分配 3GB 用户地址空间,但这可能只是您的情况的权宜之计。
如果您可以迁移到 64 位架构,那么这应该不是问题;否则,您应该找到一种不需要单个连续存储块的存储矩阵数据的方法,例如将其存储在块中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)