欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#调用C++dll方法步骤

程序员文章站 2023-12-05 08:36:52
c#调用c++dll的方法和步骤 其他分享涉及到的概念和方法对于像我这样比较菜的选手看起来比较费劲并且很难抓住重点,这里我总结了一段时间的研究成果供初学者救济之用,简单明...

c#调用c++dll的方法和步骤

其他分享涉及到的概念和方法对于像我这样比较菜的选手看起来比较费劲并且很难抓住重点,这里我总结了一段时间的研究成果供初学者救济之用,简单明了。

1、新建项目->visual c++->win32项目 mydll

注意:c++编写的dll一般是不能直接拿来c#调用,需要先新建个c++的工程把dll里的方法重新封装成可被c#外部调用的函数。

C#调用C++dll方法步骤

C#调用C++dll方法步骤

2、mydll.cpp里的代码如下:

extern "c" _declspec(dllexport)int add(int a ,int b) 

{ 

int sum=a+b;

return sum;

}

注意:函数前一定要加extern "c"  _declspec(dllexport),可被外部引用

C#调用C++dll方法步骤

3、项目->属性->常规->公共语言运行库支持->公共语言运行库支持(/clr)

C#调用C++dll方法步骤

4、f5编译程序,在debug文件夹中找到生成mydll.dll目标文件备用

C#调用C++dll方法步骤

1、方法/步骤2

新建项目->visual c#->控制台应用程序 dllconsoleapplication1

C#调用C++dll方法步骤

2、将步骤1生成的mydll.dll文件copy到dllconsoleapplication1工程的根目录下

C#调用C++dll方法步骤

3、

program.cs代码如下using system;using system.collections.generic;using system.linq;using system.text;using system.runtime.interopservices;  //必须添加,不然dllimport报错namespace dllconsoleapplication1{  class cppdll  {    [dllimport("mydll.dll", charset = charset.ansi)] //引入dll,并设置字符集    public static extern inprogram.cs代码如下using system;using system.collections.generic;using system.linq;using system.text;using system.runtime.interopservices;  //必须添加,不然dllimport报错namespace dllconsoleapplication1{  class cppdll  {    [dllimport("mydll.dll", charset = charset.ansi)] //引入dll,并设置字符集    public static extern int add(int a ,int b);  }  class program  {    static void main(string[] args)    {     

t add(int a ,int b);  }  class program  {    static void main(string[] args)    {      int sum=cppdll.add(3, 4);    }  }}

 int sum=cppdll.add(3, 4);    }  }}

4、

编译程序,在程序中加断点,查看函数的计算结果

C#调用C++dll方法步骤

5、到这里,c++dll里的方法已经在c#里调用成功了。到这里,c++dll里的方法已经在c#里调用成功了。