有没有办法在 "executable" 的 .NET 进程中分配内存?

Is there a way to allocate memory in a .NET process that is "executable"?

我想知道是否有任何方法可以在进程中分配内存并使该内存 r/w 并且可执行?

我找到了 System.Runtime.InteropServices.Marshal.AllocHGlobal,不知道这是否正是我要找的东西,如果是的话,它是如何工作的?不太明白,分配的内存在哪呢

这是 VirtualAlloc 和 VirtualProtect API 调用的任务,而不是互操作编组器的任务。您将必须声明它们 [DllImport]。然而,这整个过程会很痛苦,我会认真考虑使用不同的语言。也许一个 c++ 项目只提供您需要的互操作调用,而 UI 保留在 C# 中。 (老实说,互操作性的东西是我看到 c++ 和 .net 一起工作的唯一领域)。