2

我知道这是一个奇怪的问题,但是你如何......分配物理内存?我知道使用 New 会创建一个新对象,但它不会分配我要查找的内容。这是我正在寻找的东西:http: //www.soft.tahionic.com/download-memalloc/index.html

该程序以我想要的方式分配内存。我将如何分配……比如说 500 MB?或者 VB.NET 会因为它的内存管理而不允许这样做吗?我尝试在谷歌上搜索 memorystreams 和 unmanagedmemorystreams,但我不知道如何开始。我也尝试过制作大型阵列,但这似乎有点……不专业。我只使用 VB.NET 一年左右。有人可以帮我开始吗?顺便说一句,我刚加入。荣幸和你们见面!

4

2 回答 2

2

您可以像这样分配和释放指定的非托管内存块:

Dim handle As IntPtr = Marshal.AllocHGlobal(size)
Marshal.FreeHGlobal(handle)

有关详细信息,请参阅MSDN。您也可以使用该Marshal.AllocCoTaskMem方法并使用Marshal.FreeCoTaskMem.

于 2012-12-17T16:19:17.223 回答
0

使用pinvoke使用 Windows api 函数,例如HeapAlloc

于 2012-12-17T16:16:00.000 回答