有没有办法在.NET进程中分配“可执行”的内存?

时间:2017-12-31 01:15:25

标签: c# .net process allocation alloc

我想知道是否有办法在一个进程中分配内存并且该内存是r / w&可执行?

我找到了System.Runtime.InteropServices.Marshal.AllocHGlobal,不知道我是否正在寻找的东西,如果是,那么它是如何工作的?我真的不明白,分配的内存在哪里。

1 个答案:

答案 0 :(得分:1)

这是VirtualAlloc和VirtualProtect API调用的任务,而不是interop marshaller。你必须声明它们[DllImport]。无论这整个过程多么痛苦,我都会认真考虑使用不同的语言。也许是一个c ++项目,当UI保留在C#中时,它只提供你需要的互操作调用。 (老实说,互操作的东西是我看到c ++和.net一起工作的唯一区域。)