如何实现C++调用C#的dll方法教程

SwfDotNet是C#编写的,这是个特别好的读写Swf文件的库。本文讲述了在C++项目中,怎么让C++调用C#的DLL动态链接库文件。
具体的实现步骤如下:

一、创建C# DLL,需要指定应用类型为“类库”,代码:
[C#]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
namespace CSLib
{
   public class Class1
   {
     private string name;
  
     public string Name
     {
       get
       {
         return name;
       }
       set
       {
         name = "Your Name: " + value;
       }
     }
   }
}

二、C++客户程序,是个控制台应用,代码:
[C++]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
#using "..\debug\CSLib.dll"
using namespace CSLib;
  
int _tmain( int argc, _TCHAR* argv[])
{
  Class1 ^c = gcnew Class1();
  
  c->Name = "zzj" ;
  
  printf ( "%s\n" , c->Name);
  
  return 0;
}

三、这里有几点要记住:
  • 使用#using引用C# DLL,而不是#include;
  • 别忘了using namespace CSLib;
  • 使用C++/clr语法,采用正确的访问托管对象,即:使用'^',而不是星号'*'。


最后还送上另一种非托管C++调用C#Dll的实现方法:

你可能感兴趣的:(dll调用,C++调用C#,【NET开发】,【VC开发】)