C++调用C#的DLL实现方法

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

具体的实现步骤如下:

一、创建C# DLL,需要指定应用类型为“类库”,代码:

namespace CSLib
{
  public class Class1
  {
    private string name;

    public string Name
    {
      get
      {
        return name;
      }
      set
      {
        name = "Your Name: " + value;
      }
    }
  }
}

二、C++客户程序,是个控制台应用,代码:

#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;
}

三、这里有几点要记住

1.使用#using引用C# DLL,而不是#include;

2.别忘了using namespace CSLib;

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