Lua教程(十九):C调用Lua
1.基础:
Lua的一项重要用途就是作为一种配置语言。现在从一个简单的示例开始吧。
--这里是用Lua代码定义的窗口大小的配置信息 width=200 height=300
下面是读取配置信息的C/C++代码:
#include<stdio.h> #include<string.h> #include<lua.hpp> #include<lauxlib.h> #include<lualib.h>
voidload(lua_State*L,constchar*fname,int*w,int*h){ if(luaL_loadfile(L,fname)||lua_pcall(L,0,0,0)){ printf("ErrorMsgis%s.\n",lua_tostring(L,-1)); return; } lua_getglobal(L,"width"); lua_getglobal(L,"height"); if(!lua_isnumber(L,-2)){ printf("'width'shouldbeanumber\n"); return; } if(!lua_isnumber(L,-1)){ printf("'height'shouldbeanumber\n"); return; } *w=lua_tointeger(L,-2); *h=lua_tointeger(L,-1); }
intmain() { lua_State*L=luaL_newstate(); intw,h; load(L,"D:/test.lua",&w,&h); printf("width=%d,height=%d\n",w,h); lua_close(L); return0; }