c++调用c#的dll + 实例

c++调用c#的dll + 实例


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

    1、打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性”。
    2、展开“配置属性”旁边的节点并选择“常规”。在右侧窗格中的“项目默认值”下,将“公共语言运行库支持”设置为“ 公共语言运行库支持(/clr)”。
    3、在相同的窗格中,确保将“MFC的使用”设置为“ 在静态库中使用 MFC”
  //  4、在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。请确保将“调试信息格式”设置为“程序数据库/Zi”(而不是“/ZI”)。

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


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

//http://topic.csdn.net/t/20030714/21/2027862.html 参考问题

 using <mscorlib.dll>;// 如果你用托管方式,那么尽量就用.NET   Frameworks提供的一切可用的类库 
 using " DownloaFiles.dll";   //换成需要引用的的dll文件。  放置到你的源程序文件加下
 using namespace System; //系统提供的命名空间

 using namespace ADMessage_test;  //换成dll中类所使用的namespace.,如果有多层次的,要分别引用,一层一层的包含。

//另外,查看C#的DLL中封装的命名空间和相关类及类的方法属性,可以用C#打开,添加引用中看到。

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

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

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


四 、几点要记住:

  1 使用#using引用C# DLL,而不是#include.我就是想当然的使用了后者,所以浪费了一上午的时间;

  2 别忘了using namespace CSLib;

  3 使用C++/clr语法,采用正确的访问托管对象,即:使用帽子‘^’,而不是星星‘*’。

       4 将要调用的C#的DLL文件要放在两个地方,一个是在源代码文件夹下,另一个是在生成EXE文件所在的文件夹,否则不能调试DLL,或者程序错误退出。请注意和重视Visual Studio的输出窗口的提示内容。


现附上我在研究C++调用C#的DLL文件时使用的一个小实例上传到我的资源目录下,欢迎互相借鉴学习。

http://download.csdn.net/detail/canhui2009/4513750

   

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值