天天看點

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、将類轉換為函數(成功)

如果涉及到的代碼不算複雜,建議使用這種方法,不容易出錯啊。

說白了就是把類打開,解開封裝,方法就是函數,成員變量就是全局變量。