我需要连续超过20000项申报在C#中的WinForms方阵。 我读到的32位2GB .NET对象大小限制,并在64位操作系统相同的情况。 因此,当我理解单个答案时 - 正在使用不安全的代码或使用C++编译器构建的独立库。C#巨大的大小2调光阵列
这个问题对我来说是值得,因为USHORT [20000,20000]越小则2GB的,但实际上我不能分配甚至内存700MB。我的限制是650MB,我不明白为什么 - 我有32位WinXP和3GB内存。 我试图用Marshal.AllocHGlobal(700 < < 20),但它抛出OutOfMemoryException异常,GC.GetTotalMemory试图分配内存,然后返回4.5MB。
我发现只有很多人说使用不安全的代码,但我找不到例如如何在堆中声明2维数组(任何堆栈不能保证数据的如此巨大数额),以及如何使用指针,它的工作。 它是不安全的{}括号内的纯C++代码?
PS。请不要问为什么我需要这么庞大的数组......但是如果你想 - 我需要分析文本(例如书籍)并找到很多索引。所以答案是 - 词与词之间的关系
编辑的矩阵:可能有人请提供使用指针在不安全的代码矩阵工作的一小例子。我知道,在32位是不可能的分配更多的空间,但我在谷歌上搜索这样的例子花了很多时间,没有发现任何
为什么?你想做什么? – SLaks 2010-04-07 15:35:36
相关问题http://stackoverflow.com/questions/1087982/ – 2010-04-07 15:41:45
我添加了一些链接到我的答案示例代码。 – 2010-04-08 13:18:23