如何在C#中分配一个大的连续内存块(win + linux)

时间:2015-01-08 19:45:25

标签: c# .net memory-management mono

我在C#中搜索内存分配方法,提供连续的内存块(> 4 GiB)。此方法应适用于Mono以及Microsoft .NET。如果此内存不受管理,则没有问题。

Linux的:
我认为通过DllImport调用mmap是Mono的一个不错的选择。

窗:
我发现了几种方法,比如HeapAlloc,AllocHGlobal,......,但它们似乎都没有提供64位大小的参数。

还有一种方法可以为GC启用大对象。这些对象是否连续?

1 个答案:

答案 0 :(得分:1)

Marshal.AllocHGlobal()有一个IntPtr版本,可以支持64位值。

是什么让你说它没有。