int main (int argc, char **argv) {
lua_State *L = luaL_newstate();
//加载库
luaL_openlibs(L);
dofile(L,"app.lua");
lua_getglobal(L,"getString");
//把参数放入栈中
lua_pushstring(L,"ZhangSan");
//lua_call(lua_State* L,int nargs,int nreturns)
//1:lua_State* 2:参数数量 3:返回值数量
//lua_call会清空栈,把返回值放入栈中
lua_call(L,1,1);
if(lua_isstring(L,-1)){
printf("%s\n",lua_tostring(L,-1));
}
lua_pop(L,1);
lua_close(L);
return 0;
}
app.lua
version = 2.1
name = "lua"
people={name="ZhangSan",age=20,com="eoe"}
function getPeopleInfo()
return people.name,people.age
end
local name,age = getPeopleInfo();
--print(name,age);
function main()
print("Hello Lua")
end
function getString(name)
return "Hello "..name
end