Lua和C++交互 学习记录之三:全局值交互
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍)
部分内容查阅自:《Lua 5.3 参考手册》中文版 译者 云风 制作 Kavcc
vs2013+lua-5.3.3
1.C++读取lua中的值
①在hello.lua中设置一个全局变量:
global_c_read_val = "test val"
②在C++里读取
1 //lua->stack
2 lua_getglobal(L, "global_c_read_val");
3 //stack->c
4 if (const char* val = lua_tostring(L, -1)){
5 std::cout << val << std::endl;
6 }
2.Lua读取C++中的值
①在C++中写入
1 //c->stack
2 lua_pushstring(L, "test new value");
3 //stack->lua
4 lua_setglobal(L, "global_c_write_val");
②在Lua中读取
print(global_c_write_val)
Lua和C++交互系列:
《Lua和C++交互 学习记录之七:C++全局函数注册为Lua模块》
《Lua和C++交互 学习记录之八:C++类注册为Lua模块》
《Lua和C++交互 学习记录之九:在Lua中以面向对象的方式使用C++注册的类》