wangwulicsdn
2020-12-01 15:20
采纳率: 16.7%
浏览 133

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

 

 

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

  • 收藏

14条回答 默认 最新

  • yemat 2020-12-04 19:22
    已采纳

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

     

    已采纳该答案
    打赏 评论
  • wangwulicsdn 2020-12-09 13:59

    最后 写完成程序报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”  我百度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]

     

    打赏 评论
  • wangwulicsdn 2020-12-09 14:01

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

     

    打赏 评论
  • wangwulicsdn 2020-12-09 14:01

     

    打赏 评论
  • wangwulicsdn 2020-12-09 14:01

     

    打赏 评论
  • yemat 2020-12-09 14:03

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

    打赏 评论
  • wangwulicsdn 2020-12-09 14:28

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

    打赏 评论
  • yemat 2020-12-09 14:47

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

    打赏 评论
  • wangwulicsdn 2020-12-09 15:06

    打赏 评论
  • wangwulicsdn 2020-12-09 15:06

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

    打赏 评论
  • yemat 2020-12-09 15:22

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

    打赏 评论
  • wangwulicsdn 2020-12-09 15:34

    打赏 评论
  • wangwulicsdn 2020-12-09 15:37

    打赏 评论
  • wangwulicsdn 2020-12-09 15:37

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

    打赏 评论

相关推荐 更多相似问题