C#中如何调用C++编写的DLL

原创 2004年11月03日 10:48:00
c++经过这么多年的发展已经积累了大量的动态连接库,如果能够在.net环境里应用这些函数库, 可以很大的提高整个应用的开发速度。 使用c++编程的人员肯定对指针不会感到陌生,由于c++中的函数接口好多都可能定义成位指针, 而c#中只有在声明为unsafe code中才能够使用指针。如果想让c++的DLL支持在C#中调用, 那么在C++接口的声明中需要使用下面的这种格式: extern "C" __declspec(dllexport) void __stdcall popMessage(char* message) { MessageBox(NULL, message, "C message from C#!", MB_OK); } 并且在c#类声明中使用如下的导入编译好的DLL,例如: [ DllImport( "test.dll", CallingConvention=CallingConvention.Cdecl )] public static extern void Message(string theMessage); 当然你可以从一个DLL中导入多个方法的声明,例如: [ DllImport( "test.dll", CallingConvention=CallingConvention.Cdecl )] public static extern void Func1(string theMessage); [ DllImport( "test.dll", CallingConvention=CallingConvention.Cdecl )] public static extern void Func2(string theMessage); [ DllImport( "test.dll", CallingConvention=CallingConvention.Cdecl )] public static extern void Func3(string theMessage); 然后你可以在你的c#类中调用上面声明的方法。

在C++ 中 如何调用 C# 写的DLL

对于很多和我一样的老C++程序员来讲,如果不能与时俱进,不但会倍感失落,还会真的自绝于天下。    比如C#有很多好的组件, 如NPOI ,如。。。 ,怎么在C++中也自如调用呢,这样不用去学习...
  • codepython
  • codepython
  • 2015年07月02日 11:05
  • 596

C++如何调用C#编写的DLL

由于C#编绎出来的DLL不是计算机所能直接识别的二进制指令码,需要CLS进行再解释,说到这,我想有些朋友应该知道C#项目需要引用C++编写的DLL时,可以直接引用DLLMPORT来实现调用,而反向的话...
  • jiang1986829
  • jiang1986829
  • 2015年09月18日 11:05
  • 8738

C#调用C++编写的DLL函数, 以及各种类型的参数传递

1. 如果函数只有传入参数,比如: C/C++ Code Copy Code To Clipboard //C++中的输出函数 int __declspec(dllexport) te...
  • vito13
  • vito13
  • 2017年03月31日 15:30
  • 594

vs2010下V C++调用C#编写的dll时可能遇到的问题

最近编写C++调用C#编写的dll时,碰到诸多问题,主要原因是在编写C#的dll时还调用了其它的dll动态链接库,所以比较复杂。 在按照正规步骤编写完C#  dll之后,觉得万事大吉了,(因为单纯...
  • xinglongk
  • xinglongk
  • 2016年09月29日 17:35
  • 1696

C# 调用C++ DLL 总结

1 方法一: C#项目中,“引用”右键,添加引用,在浏览里面添加C++ DLL库,如果添加成功,你是幸运的,但是成功概率为98%,或者根本不可能。 如果失败会提示:未能添加对“E:\HuangTa...
  • taoerit
  • taoerit
  • 2014年12月22日 22:58
  • 4537

在VS2010上使用C#调用非托管C++生成opencv代码的DLL文件

背景       在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用。本篇文章将引导...
  • qq_16542775
  • qq_16542775
  • 2016年08月22日 15:15
  • 1417

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

c++调用c#的dll + 实例 一、使用/clr编译MFC可执行文件或规则C# DLL函数.     1、打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性...
  • canhui2009
  • canhui2009
  • 2012年08月20日 20:21
  • 10370

在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试

在VS2015中用C++创建DLL并用C++或C#调用且同时实现对DLL的调试
  • songyi160
  • songyi160
  • 2016年04月06日 17:59
  • 13376

C#如何调用C++编写的dll中的导出类

如果是非托管的,就用DllImport,举例     using System;     using System.Runtime.InteropServices;     class Main...
  • jefftian2008
  • jefftian2008
  • 2012年04月30日 22:36
  • 816

C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)

一:首先什么是IntPtr 先来看看MSDN上说的:用于表示指针或句柄的平台特定类型。这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄、它是一个平台特定类型。对于它的解释,这个哥...
  • u010159842
  • u010159842
  • 2016年06月27日 10:49
  • 2613
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#中如何调用C++编写的DLL
举报原因:
原因补充:

(最多只允许输入30个字)