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>
void load(lua_State* L, const char* fname, int* w, int* h) {
if (luaL_loadfile(L,fname) || lua_pcall(L,0,0,0)) {
printf("Error Msg is %s.\n",lua_tostring(L,-1));
return;
}
lua_getglobal(L,"width");
lua_getglobal(L,"height");
if (!lua_isnumber(L,-2)) {
printf("'width' should be a number\n" );
return;
}
if (!lua_isnumber(L,-1)) {
printf("'height' should be a number\n" );
return;
}
*w = lua_tointeger(L,-2);
*h = lua_tointeger(L,-1);
}
int main()
{
lua_State* L = luaL_newstate();
int w,h;
load(L,"D:/test.lua",&w,&h);
printf("width = %d, height = %d\n",w,h);
lua_close(L);
return 0;
}
以上是 Lua教程(十九):C调用Lua 的全部内容, 来源链接: utcz.com/z/320922.html