在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):Tomasu/LuaGlue开源软件地址(OpenSource Url):https://github.com/Tomasu/LuaGlue开源编程语言(OpenSource Language):C++ 58.5%开源软件介绍(OpenSource Introduction):LuaGlueLuaGlue is a C++11 template based binding library. It is contained entirely in headers, with no code to link to. License: Zlib exampleLua Code: local test = Foo.new(333);
test:abc(1,2,3);
print("ONE: "..Foo.ONE);
print("TWO: "..Foo.TWO);
print("THREE: "..Foo.THREE); C++ Code #include <LuaGlue/LuaGlue.h>
class Foo
{
public:
Foo(int i) { printf("ctor! %i\n", i); }
~Foo();
int abc(int a, int b, int c) { printf("%i:%i:%i\n", a,b,c); return 143; }
static void aaa() { printf("aaa!\n"); }
};
int main(int, char **)
{
LuaGlue state;
state.
Class<Foo>("Foo").
ctor<int>("new").
method("abc", &Foo::abc).
method("aaa", &Foo::aaa).
constants( { { "ONE", 1 }, { "TWO", 2.0 }, { "THREE", "three" } } ).
end().open().glue();
if(!state.doFile("foo.lua"))
{
printf("failed to dofile: foo.lua\n");
printf("err: %s\n", state.lastError().c_str());
}
return 0;
} CHANGESAug 20 2014Large refactor finished. A large amount of internal structure and code changed. Repo forks may break or fail to merge. Passing Lua Values like tables, functions and basic types is supported through a new LuaGlueLuaValue type. For those times when you want a table or just don't care what type is passed to a C/C++ function from lua. FUTURE
LICENSE
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论