C 與 Lua 互動原理和優化

2021-10-02 21:59:20 字數 255 閱讀 5207

過程過程盡量不要在 lua 中傳遞 unity 中的類,盡量只傳遞int,float,double 型別

解決方法:在 c# 中封裝方法 unity 型別的賦值,使用 id(int) 代表對應 object 的傳遞

呼叫的 c# 方法引數數量盡量少與4個

c# 方法盡量為靜態方法(減少 lua gc )

在 lua 中呼叫 c# 方法獲取資料時,其方法引數盡量使用 out 關鍵字(將表查詢轉換為對棧訪問)

原理:效能優化:

C 與Lua互動原理

具體步驟 1,找到cocos自帶的繫結工具指令碼檔案genbindings.py,在cocos工程的frameworks cocos2d x tools tolua這個目錄下,把這個檔案開啟。2,在開啟的genbindings.py檔案下面找到這麼一段 這裡就是執行這個指令碼會自動生成lua繫結 的...

C 與Lua互動過程及原理

c 與lua互動過程 c call lua 由c 檔案先呼叫lua解析器底層dll庫 由c語言編寫 再由dll檔案執行相應的lua檔案 lua call c 1 wrap方式 首先生成c 原始檔所對應的wrap檔案,由lua檔案呼叫wrap檔案,再由wrap檔案呼叫c 檔案 2 反射方式 當索引系統...

C 與Lua互動(二)

c 與lua的之間函式的相互呼叫 1.c 調lua函式 c與lua的所有互動都是通過乙個棧來完成的。我對前面提到的虛擬機器l的理解是,它就是乙個棧 可能理解的不對 然後通過對這個棧的操作來實現資料的互動。呼叫函式跟訪問變數其實差不多,前面都是做一樣的事,只是呼叫函式時獲取的變數是函式名。然後將需要的...