茶香排骨 2023-10-24 14:27 采纳率: 0%
浏览 9

C# 如何调用C++ 的dll ,并传递指针参数

在学习C# 的过程中,需要调用C++的 动态链接库,目前束手无策,须指导

  VS2015,C#调用  C++的dll  ,
          C++的函数原型是:
              int  _stdcall   OmrS(char   *buf);         //参数类型是        char  comand[30]
               itn   _stdcall  OmrG(char  *buf);        //参数类型是      char  result[300]
    如下是我C#调用dll引用及函数声明,但不知道函数参数类型该怎样填写,请大家指导指导,
  
           [DllImport("Omr.dll", CharSet = CharSet.Ansi, EntryPoint = "OmrS")]
            public static extern int OmrS(??  ??  buf);  //参数指向存储指令或数据
            [DllImport("Omr.dll", CharSet = CharSet.Ansi, EntryPoint ="OmrG")]
            public static extern int OmrG(??  ??  buf);    //参数同时为dll中返回数据的地址

  • 写回答

2条回答 默认 最新

  • wanghui0380 2023-10-24 14:52
    关注

    自己查pinvoke资料

    如果是in参数,你直接给string就行。如果是out参数可以先试试看stringbuilder(如果stringbuilder不行就用inptr)

    评论

报告相同问题?

问题事件

  • 创建了问题 10月24日

悬赏问题

  • ¥20 wordpress如何限制ip访问频率
  • ¥15 自研小游戏,需要后台服务器存储用户数据关卡配置等数据
  • ¥15 请求解答odoo17外发加工某工序的实操方法
  • ¥20 IDEA ssm项目 跳转页面报错500
  • ¥20 系统直接进入应急模式了,请教一下,人要裂开了
  • ¥15 页面初次加载时,JS调用对象可以调用成功,但是一旦跳转到另一个页面,再跳转回来后这个对象就显示undefind了,调用也调用不了了,什么原因?
  • ¥15 来个厉害的程序开发的,安排点活给你做
  • ¥15 rexroth indramotion MTX micro系统轴耦合编程
  • ¥100 springboot2.7.x 整合 sharding 的问题
  • ¥15 如何通过命令行操作统信360安全浏览器?