服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#调用C++dll方法步骤

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

2022-07-06 10:14C#教程网 C#

在本篇文章中小编给读者们整理了关于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#里调用成功了。

延伸 · 阅读

精彩推荐
  • C#VS2010下生成dll的方法

    VS2010下生成dll的方法

    这篇文章主要介绍了VS2010下生成dll的方法,需要的朋友可以参考下...

    C#教程网4242022-02-19
  • C#C#解析Lrc歌词文件过程详解

    C#解析Lrc歌词文件过程详解

    这篇文章主要为大家详细介绍了C#解析Lrc歌词文件过程,很有趣的解析过程,感兴趣的小伙伴们可以参考一下...

    波谷9882021-11-26
  • C#C#使用UdpClient类进行简单通信的实例

    C#使用UdpClient类进行简单通信的实例

    本文主要介绍了C#使用UdpClient类进行简单通信的实例,具有很好的参考价值,需要的朋友可以看下...

    弎吩锺熱℃9132021-12-14
  • C#C#程序员最易犯的编程错误

    C#程序员最易犯的编程错误

    这篇文章主要介绍了C#程序员最易犯的10个编程错误,了解这些错误能够更好地学习C#程序设计,感兴趣的小伙伴们可以参考一下...

    C#教程网4662021-11-01
  • C#C# Fiddler插件实现网站离线浏览功能

    C# Fiddler插件实现网站离线浏览功能

    本文主要介绍了C# Fiddler插件实现网站离线浏览功能的原理与方法。具有很好的参考价值,下面跟着小编一起来看下吧...

    Frank.Cui5722021-12-24
  • C#C#学习笔记整理_变量等基础语法(必看篇)

    C#学习笔记整理_变量等基础语法(必看篇)

    下面小编就为大家带来一篇C#学习笔记整理_变量等基础语法(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看...

    7562021-12-07
  • C#C#线程处理系列之线程池中的I/O线程

    C#线程处理系列之线程池中的I/O线程

    这篇文章主要介绍了C#线程处理系列之线程池中的I/O线程,在这篇文章中将介绍如何用线程池中的I/O线程来执行I/O操作,感兴趣的小伙伴们可以参考一下...

    Learning hard10442021-11-17
  • C#C#自动类型转换与强制类型转换的讲解

    C#自动类型转换与强制类型转换的讲解

    今天小编就为大家分享一篇关于C#自动类型转换与强制类型转换的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    Mogul110352022-03-08