[LUA]做配置文件的一个简单例子

准备lua

新建一个config.lua文件,内容如下

--my config
MyConfigValue = 1234

准备C++

新建一个main.cpp文件,内容如下

#include<stdio.h>

extern "C"
{    
#include "lua.h"    
#include "lauxlib.h"    
#include "lualib.h"    
}    
   
void
ReadVariable(lua_State *L,int *myConfigValue)
{
    lua_getglobal(L,"MyConfigValue");
    
    if (!lua_isnumber(L,-1)) {
        luaL_error(L,"`MyConfigValue' should be a number\n");
    }
    
    *myConfigValue = (int)lua_tonumber(L,-1);
    printf("MyConfigValue is %d\n",*myConfigValue);
}
int main(int argc, char* argv[])    
{    
    if (argc != 2) {
        printf("param error!\n");    
        return 0;    
    }    
    
    char *filename = argv[1];    
    
    lua_State *L = luaL_newstate();    
    luaL_openlibs(L);  //新版本库添加的方法    
    if (luaL_loadfile(L,filename) || lua_pcall(L,0,0,0)) {
        luaL_error(L,"loadfile error! %s \n",lua_tostring(L,-1));    
    }    
    
    int myConfigValue=1;
    ReadVariable(L,&myConfigValue);
    return 0;  
}  

编译执行吧

$g++ main.cpp -llua -ldl
$./a.out config.lua

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据