C#调用C++编译的dll文件 (持续更新)

本文介绍如何从 C# 调用 C++ 编译的 DLL 文件,包括简单的函数调用及涉及结构体指针传递的情况,并提供具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一    简单调用的实现

       C++ 编译的dll描述:
                     文 件 名:test.dll
                     函数原型:int OptionAdd(int a,int b)
       C#调用实现:
                    1、引用命名空间      System.Runtime.InteropServices
                    2、载入dll文件         [DLLImport("test.dll")]
                    3、声明原型              public static extern int OptionAdd(int a, int b)

二  参数中包含指向结构体的指针

       C++ 编译的dll描述:
                    文 件 名:test.dll
                    函数原型:int OptionAdd(Point* a,Point* b)


      结构体为: 
       public struct Point
       {
              public int x;
              public int y;
              public int z;
       }
      C#调用实现:
                  1、引用命名空间 System.Runtime.InteropServices
                  2、载入dll文件  [DLLImport("test.dll")]
                  3、声明原型
                                 a)   public static extern int OptionAdd(ref Point a, ref Point b)
                                 b)   public static extern int OptionAdd(Point[] a, Point[] b)
                    注意:a方法  可以使用绝大多数的情况,不影响运算;
                                b方法  可以传入null,而a则不允许




(持续更新)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值