首页 > 技术文章 > C++调用C#编写的DLL【转】

xingboy 2019-01-18 16:51 原文

1、打开VS新建项目

  

2、在新建项目窗口中选择其他语言->Visual C++->Win 32控制台应用程序,设置名称:MathCon,设置解决方案名:MathCon,这个名字随便你自己取

  

3、单击确定,在出现的Win32 应用程序向导的概述对话框中点击下一步。

  

4、在应用程序设置中,选择应用程序类型下的控制台应用程序,勾选附加选项下的”预编译头“

  

5、单击完成创建项目

6、将C#编写的DLL文件放置在C++的可执行程序目录

7、使用#using引用C#编写的DLL文件MathDLL.dll,具体代码如下:

#include “stdafx.h”  
#using ”../debug/MathDLL.dll”  //DLL所在的路径
using namespace MathDLL;  
int _tmain(int argc, _TCHAR* argv[])  
{  
    int sum,x,y;  
    x=10;  
    y=22;  
    MathTest ^a = gcnew MathTest();  
    sum=a->demoAdd(x,y);  
    sum=x+y;  
    printf(“计算结果:%d”,sum);
    return 0;
}

8、配置C++项目MathCon的属性配置:添加公共语言运行支持  

  

9、运行结果如下:

  

 

注意:

  1、使用 #using 引用C#编写的DLL,而不是 #include

  2、引用C#的DLL后,还需要添加该DLL的命名空间 using namespace MathDLL

  3、使用C++/clr语法,采用正确的方式访问托管对象,即:使用帽子“^”,而不是“*”

原文链接:https://blog.csdn.net/m0_37312808/article/details/78082350#

 

推荐阅读