原理
C++和C#都可以生成dll,但是C#生成的dll是托管在.net平台的,因此无法直接调用。如需使用指针则需要使用gcnew来获取C#中的对象,进而调用实例中的方法。
gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换*。
gcnew 和new的区别:
gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址
gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放
创建C# 类库
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TVq1EenpXWpZkMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0AzM4MDM1YTM2ETMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
创建完成后,添加类文件以及方法
代码如下: