天天看点

Unity中使用C++的类

最近项目中遇到了一个问题,要在Unity中调用一个同事写的C++类,针对这个问题研究了一下,参考了一些博客,最后总结了几种方法。

1、直接导出类(失败)

本来以为直接导出dll就能使用,可是导出后在C#中却不知道该如何引用了,后来想了想C#又没有include头文件这种操作当然不能声名自定义的变量类型了。

class __declspec(dllexport) SampleCppClass
{
public:
    SampleCppClass(void);
    ~SampleCppClass(void);
    
    int Add(int n1, int n2);
    int Sub(int n1, int n2);
};
           

2、使用托管、非托管(失败)

这种方法,看着比较高级,不需要修改C++类的任何部分,只是需要封装一下就好,不过没成功。

3、将类转换为函数(成功)

如果涉及到的代码不算复杂,建议使用这种方法,不容易出错啊。

说白了就是把类打开,解开封装,方法就是函数,成员变量就是全局变量。