首页 > 代码库 > tolua reference
tolua reference
Using Lua API and tag method facilities, tolua maps C/C++ constants, external variables, functions, classes, and methods to Lua.
How tolua works
(1)创建a package file (a C/C++ cleaned header file) listing the constants, variables, functions, classes, and methods we want to export to the Lua environment.
(2)parses this file and creates a C/C++ file that automatically binds the C/C++ code to Lua.
(3) accesed from Lua
How to use toLua
由(1)an executable (2)and a library组成
the executable represents the parser that reads a package file and output a C/C++ code that implements the binding to access the C/C++ features from Lua.
tolua -o myfile.c myfile.pkg
tolua -n pkgname -o myfile.c myfile.pkg
when using C++, we can opt for automatic initialization
tolua -a -n pkgname -o myfile.c myfile.pkg
automatic initialization sometimes does not work
也能够调用tolua_pkgname_close(void);解绑
能够使用-H选项将open与close操作导出到头文件里。
void tolua_restorestate (void);
Basic Concepts
package file may include other package file, use $<include_file>
Basic types
char int float double -> number
char* -> string
void* -> userdata
tolua ignores const modifier
Functions in C/C++ can also manipulate Lua objects explicitly.
lua_Object也是一种基本类型。
User defined types
非Basic Types均为用户自己定义类型,are mapped to tagged userdata type in Lua.
Lua can only store pointers to 自己定义类型。
NULL and nil
tolua reference
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。