我正在尋找一種C#中的內存分配方法,它提供了一個連續的內存塊(> 4 GiB)。這種方法應該適用於Mono以及Microsoft .NET。如果這個內存不受管理,這沒有問題。如何在C#中分配一個大的連續內存塊(win + linux)
的Linux:
我認爲的DllImport調用MMAP是單一個不錯的選擇。
的Windows:
我發現了幾個方法的諸如HeapAlloc,AllocHGlobal,......,但他們都不似乎提供了一個64位的尺寸參數。
還有一種爲GC啓用大對象的方法。這些物體是連續的嗎?
你能告訴我們一些關於爲什麼你需要4 GB的連續內存嗎?肯定會有更好的辦法。 – Haney
內存映射文件API無處不在使用Int64。不知道它是否滿足您的需求。 –
此代碼是硬件仿真器的一部分。我們已經有了一個Java實現。我們現在正在評估將代碼移植到Mone/.NET – Paebbels