C++调用C# DLL函数简单介绍

来源:互联网 发布:怎么删除自己淘宝店铺 编辑:程序博客网 时间:2024/05/16 02:42

一、使用/clr编译MFC可执行文件或规则C# DLL函数.

    1、打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性”。

    2、展开“配置属性”旁边的节点并选择“常规”。在右侧窗格中的“项目默认值”下,将“公共语言运行库支持”设置为“公共语言运行库支持(/clr)”。

    3、在相同的窗格中,确保将“MFC的使用”设置为“在共享DLL中使用MFC”。

    4、在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。请确保将“调试信息格式”设置为“程序数据库/Zi”(而不是“/ZI”)。

    5、在“配置属性”下,选择“C/C++”,然后选择“代码生成”。请确保将“运行时库”设置为“多线程调试DLL(/MDd)”或“多线程DLL(/MD)”之一。

二、在代码引用需要的dll.

  1. using <mscorlib.dll>.  
  2. using "DownloaFiles.dll"   
  3. //换成需要的dll文件。  
  4. using namespace System;  
  5. using namespace ADMessage_test;  
  6. //换成dll中类所使用的namespace. 

三、在C# DLL函数调用代码前加入#pragma managed

    这是manage和unmanage混合编程在MFC下的一种实现方式。

    以上介绍C++调用C# DLL函数,希望对你有所帮助

 

 

 

总结:

1. 工程设置release

2. dll 放到工程和bin目录两个地方;或者在属性->通用属性->添加新引用中设置中库工程或dll

3. 库导出类前必须加 public 属性

 

sample:

1. AddDll:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AddDll
{
    public class Add
    {
        public int iadd(int a, int b)
        {
            int c = a + b;
            return c;
        }
    }
}

 

 

2. UseDll:

// UseDll.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#using <mscorlib.dll>

using namespace System;
// using namespace System.Data;

 #using "AddDll.dll"
 using namespace AddDll;

int _tmain(int argc, _TCHAR* argv[])
{
 int result;
     Add ^add = gcnew Add();
     result = add->iadd(10,90);
     printf("%d",result);
  scanf("%s");

 return 0;
}

 

 

 

 

 

0 0