lua作为配置文件
一. 基础数据配置
背景: 我们可以将一些常常改动的数据写到lua文件中去,就不用每次在程序更改了一个小数据的时候就要重新编译整个项目。我们可以将这个工程里面写好解析脚本的功能就可以啦~
1、简单变量的获取
实例: 我们可以在config.lua文件中写到。
// config.lua文件
width = 1000
height = 6000
然后在c++程序里读取脚本文件里配置的数据(例如这里是width和heigth),将数据用于C++的程序;
下述实例单纯
//c++文件的main函数部分
lua_State *lua_state;
lua_state = luaL_newstate();
std::string scriptPath = "config.lua";
int status = luaL_loadfile(lua_state, scriptPath.c_str()) || lua_pcall(lua_state, 0, LUA_MULTRET, 0);
if(status == LUA_OK)
{
lua_getglobal(lua_state,"width");
lua_getglobal(lua_state, "height");
if(lua_isnumber(lua_state, -1))
{
std::cout << "The height in config is " << lua_tonumber(lua_state, -1) << std::endl;
}
if(lua_isnumber(lua_state, -2))
{
std::cout << "The width in config is " << lua_tonumber(lua_state, -2) << std::endl;
}
lua_pop(lua_state, 2);
}
else
{
std::cout