Lua tolua 與c 的使用

2021-06-14 13:43:18 字數 873 閱讀 4386

csdn火木達人

tolua++介紹

tolua++是一種第三方的軟體包,可以為lua提供物件導向的特性,這樣我們就可以使用lua來編寫使用c++語言庫的指令碼檔案。

tolua++的官方**:

tolua++的編譯這裡就不介紹了,想自己編譯的網上找教程。 tolua++這個檔案在cocos2d-x檔案的tools/tolua++目錄下有,可以直接使用。這個檔案的作用是生成自定義類的「宣告」**,使lua繫結自定義類的一些成員。

使用tolua++在lua中使用自定義c++類

在lua中使用自定義的類需要使用到tolua++工具。可以在cocos2d-x專案中找到。在tolua++工具的目錄下有乙個readme檔案,裡面有介紹tolua++的使用。                      

基本使用過程:

1、編寫pkg檔案生成對應的c/c++檔案

2、分別編譯1)產生的檔案(注意要加上對應的標頭檔案)和需要使用lua指令碼的檔案

3、編寫lua指令碼,遵從lua的語法並且使用到的變數,函式,類等都是1中宣告過的。

pkg檔案的規則

使用tolua++命令

tolua++ -o lua_test.cpp test.pkg

lua和c++指標的互傳

lua中的c++指標通過自定義的方法直接傳到c++中使用

c++中傳乙個物件的指標到lua中需要使用tolua++庫中的tolua_pushusertype(lua_state* l,void* value,char* type):第乙個引數為棧,第乙個引數為要傳的物件指標,第三個引數為物件的型別。

基本型別的傳遞和c一樣

lua中強轉c++指標

tolua.cast(var, 「type name");

C 中 與 的使用

之前最常用的也就是 最近遇到 和 感覺還是挺有意思的。int?a null 用於定義可空型別和引用型別的預設值。如果此運算子的左運算元不為null,則此運算子將返回左運算元,否則返回右運算元。例如 a b 當a為null時則返回b,a不為null時則返回a本身。string a null strin...

C 中 與 的使用

1 可空型別修飾符 int?a null 2 空合併運算子 用於定義可空型別和引用型別的預設值。如果此運算子的左運算元不為null,則此運算子將返回左運算元,否則返回右運算元。例如 a b 當a為null時則返回b,a不為null時則返回a本身。string a null string b b st...

C 物件的建立與使用

1 物件是類的例項 instance 正如在前幾章稱變數是資料型別的例項一樣。宣告一種資料型別只是告訴編譯系統該資料型別的結構形式,並沒有預定記憶體,或者講並沒有建立了可用來存放資料的變數。類是一種資料型別,定義時系統並不為類分配儲存空間,類只是乙個樣板,以此樣板可以在記憶體中開闢出乙個個同樣結構的...