我想知道是否有办法在一个进程中分配内存并且该内存是r / w&可执行?
我找到了System.Runtime.InteropServices.Marshal.AllocHGlobal
,不知道我是否正在寻找的东西,如果是,那么它是如何工作的?我真的不明白,分配的内存在哪里。
答案 0 :(得分:1)
这是VirtualAlloc和VirtualProtect API调用的任务,而不是interop marshaller。你必须声明它们[DllImport]。无论这整个过程多么痛苦,我都会认真考虑使用不同的语言。也许是一个c ++项目,当UI保留在C#中时,它只提供你需要的互操作调用。 (老实说,互操作的东西是我看到c ++和.net一起工作的唯一区域。)