toLua 簡潔的使用說明

2021-04-07 07:16:17 字數 2472 閱讀 7658

功能內容:可以在lua指令碼中使用c++的方便物件,包含建立,釋放,呼叫成員函式

檔案包括:main.cpp,tclass.cpp,tclass.h,tclass.pkg,tclasslua.cpp(自動生成)

tclass.h(定義提供給lua使用的類)

#ifndef tclass_h

#define tclass_h

// 簡單的類

class a

;#endif

tclass.cpp(類的簡單實現)

#include "tclass.h"

a::a( int ntemp )

int a::get()

tclass.pkg(重要的一環節)

tolua會根據tclass.pkg來自動生產tclasslua.cpp,tclass.pkg是手動編寫的,而已格式也有規定

,以下是tclass.pkg內容:

$#include "tclass.h"

class a

;.pkg的書寫格式與c++的格式差不多,是只沒有大部分的關鍵字,例如:public等,注意,需要包函

tclass.h的標頭檔案,格式是$#include "tclass.h",還有一點書注意的,由於類中的許可權關鍵字

不存在,所以生成**的時候可能會出現許可權訪問錯誤,例如在int a是私有的情況,可能生產的代

碼會出問題。所以設計類的時候需要注意.

生成**:在命令列中輸入:tolua -o tclasslua.cpp,tclass.pkg

生成的**

/*** lua binding: tclass

** generated automatically by tolua 5.0a on 05/25/06 17:00:17.

*/#ifndef __cplusplus

#include "stdlib.h"

#endif

#include "string.h"

#include "tolua.h"

/* exported function */

tolua_api int tolua_tclass_open (lua_state* tolua_s);

#include "tclass.h"

/* function to register type */

static void tolua_reg_types (lua_state* tolua_s)

/* get function: a of class  a */

static int tolua_get_a_a_a(lua_state* tolua_s)

/* set function: a of class  a */

static int tolua_set_a_a_a(lua_state* tolua_s)

/* method: new of class  a */

static int tolua_tclass_a_new00(lua_state* tolua_s)

}return 1;

#ifndef tolua_release

tolua_lerror:

tolua_error(tolua_s,"#ferror in function 'new'.",&tolua_err);

return 0;

#endif

}/* method: get of class  a */

static int tolua_tclass_a_get00(lua_state* tolua_s)

}return 1;

#ifndef tolua_release

tolua_lerror:

tolua_error(tolua_s,"#ferror in function 'get'.",&tolua_err);

return 0;

#endif

}/* open function */

tolua_api int tolua_tclass_open (lua_state* tolua_s)

如果生成成功就沒有任何的提示.現在可以把tclasslua.cpp加到我們的工程中;

到最後的使用過程

注意:由於生成的過程中,根據包的檔案生成的乙個函式,這裡我們需要在main中定義一下!

tolua_api int tolua_tclass_open (lua_state* tolua_s);

然後需要呼叫它,讓它把生成的**內嵌到lua中.

main.cpp

extern "c"

#include "tolua.h"

#include "tclass.h"

#include

tolua_api int tolua_tclass_open (lua_state* tolua_s);

int main ()

tolua還有比較多的功能,都是能夠將c/c++的型別,函式,結構等等,方便的內嵌入lua中呼叫!

使用說明 附註工具使用說明

附註工具使用說明 附註工具用途 附註工具主要用於更新利用word附註應用程式生成的帶域 的附註,該工具在word右鍵 更新鏈結 的基礎上進行了優化,故在使用時,不能再利用word右鍵 更新鏈結 而要用本工具的 更新當前鏈結 或 更新所有鏈結 使用說明 一 更換路徑 當利用word附註應用程式生成帶域...

this的使用說明

student類中 private string name public void setname string name main函式中 student stu1 newstudent stu1.setname 小冪冪 此時main函式中stu1儲存了student類的記憶體位址,當stu1呼叫s...

使用說明 農用遮光網使用說明

農用遮光網使用說明 建築防塵網購買方 建築施工企業 在購買建築防塵網時,應該對 作出比較,可以分辨品牌 型號,且購買時應該在一定程度上了解信譽良莠。建築防塵網購買方 市場售賣方 在選購建築防塵網時,可以把 作為基礎,好的 可以用來彌補信譽不足,而差的 則需要按照你的服務收費。農用遮光網使用說明 用途...