Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#和本机C+之间共享内存+;_C#_.net_Marshalling_Managed_Native Code - Fatal编程技术网

在C#和本机C+之间共享内存+;

在C#和本机C+之间共享内存+;,c#,.net,marshalling,managed,native-code,C#,.net,Marshalling,Managed,Native Code,有没有一种方法可以在托管代码和本机代码之间共享内存,就像内存映射文件(我使用的是.NET2.0,所以MMF在这个版本中不可用)一样,我是这个.Net的新手,那么真正的封送是什么呢?我这样做是为了托管代码和非托管代码之间的通信,但我的问题是在封送处理期间,我们是将非托管代码的内存部分复制到托管内存区域,还是共享相同的地址空间,因此当我们从非托管代码更改变量时,那么托管代码中的值也会更改吗?这是了解托管代码和非托管代码之间封送的一些想法的有用起点 您可以跳过与[InAttribute]和[OutAt

有没有一种方法可以在托管代码和本机代码之间共享内存,就像内存映射文件(我使用的是.NET2.0,所以MMF在这个版本中不可用)一样,我是这个.Net的新手,那么真正的封送是什么呢?我这样做是为了托管代码和非托管代码之间的通信,但我的问题是在封送处理期间,我们是将非托管代码的内存部分复制到托管内存区域,还是共享相同的地址空间,因此当我们从非托管代码更改变量时,那么托管代码中的值也会更改吗?

这是了解托管代码和非托管代码之间封送的一些想法的有用起点


您可以跳过与[InAttribute]和[OutAttribute]相关的部分。

链接到2018年6月12日发布的博文