C#调用C++写的DLL类库 结构类型的数据如何传参 和 接收返回

C#调用C++写的DLL类库 结构类型的数据如何传参 和 接收返回

问题描述:

 

 

C#调用C++写的DLL类库 结构类型的数据如何 传参 和 接收返回,  求大佬代码指教;

创建结构体,显示加载dll,通过stdcall方式调用函数,传递结构体指针进函数

 

最后 写完成程序报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”  我百度1天半没有 解决,求指教;
下面我是代码截图
[img=https://img-bbs.csdn.net/upload/202012/09/1607493441_806866.png][/img]
[img=https://img-bbs.csdn.net/upload/202012/09/1607493454_615457.png][/img]
[img=https://img-bbs.csdn.net/upload/202012/09/1607493464_433890.png][/img]

 

最后 写完成程序报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”  我百度1天半没有 解决,求指教;
下面我是代码截图

 

 

 

形参是指针类型,你传递的实参是参数而非指针或引用

大佬传递 参数使用   非指针或引用,能给我一段代码参考下不。   C# 的非指针或引用 语法 没有了解过

参数加上&试试 或者 TVicPacket tvicpacket = new   TVicPacket;(TVicPacket* tvicpacket = new    TVicPacket;)传递的参数应该就可以直接传递了

TVicPacket tvicpacket = new   TVicPacket;(TVicPacket* tvicpacket = new    TVicPacket;)  是这样写吗

TVicPacket tvicpacket = new   TVicPacket;修改为:TVicPacket* tvicpacket = new    TVicPacket;

是这样吗,语法好像编译不过去