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

时间:2022-02-19 22:02:24

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

具体的实现步骤如下:

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

?
1
2
3
4
5
6
7
8
9
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++客户程序,是个控制台应用,代码:

?
1
2
3
4
5
6
7
8
9
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;
}

三、这里有几点要记住

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

2.别忘了using namespace CSLib

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