如何在 C# (win + linux) 中分配一个大的连续内存块
本文关键字:一个 连续 内存 win linux 分配 | 更新日期: 2023-09-27 18:36:44
我正在 C# 中寻找一种内存分配方法,该方法提供连续的内存块 (> 4 GiB)。此方法应该适用于 Mono 以及 Microsoft .NET。如果此内存不受管理,则没有问题。
Linux:
我认为通过DllImport调用mmap对于Mono来说是一个不错的选择。
窗户:
我找到了几种方法,如HeapAlloc,AllocHGlobal,...,但它们似乎都没有提供64位大小的参数。
还有一种方法可以为 GC 启用大型对象。这些对象是连续的吗?
Marshal.AllocHGlobal()
有一个IntPtr
版本,可以支持64位值。
是什么让你说它没有。