【发布时间】:2011-10-10 22:31:53
【问题描述】:
在 .Net 框架中,2 GiB 是您可以为对象分配的最高内存。这个事实与平台(x64 或 x86 或 ...)独立。 我需要一个包含超过 2^30 个复数(每个是 16 个字节)的巨大列表。
注意:
与 32 位 Windows 操作系统一样,有 2GB 的限制 在运行 64 位托管时可以创建的对象的大小 64 位 Windows 操作系统上的应用程序。
来自http://msdn.microsoft.com/en-us/library/ms241064%28VS.80%29.aspx
【问题讨论】:
-
您需要一个占用超过 17.18 GB RAM 的对象?除非你有一些很棒的服务器,否则你可能需要考虑一种不同的方式来做到这一点。
-
@Ben 为什么?我的桌面上还有更多...
-
我希望你的数字是值类型(结构)而不是引用类型(类)...否则你的内存使用会膨胀。
-
@xanatos,LuKe H:谢谢。由于 Visual Studio 的愚蠢,我错了:D。解决方案平台可能在其项目中有所不同。我的 HugeArray 在其他以 x86 模式编译的项目中。