#include iostream>
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
using namespace std;
int main(int argc, char* argv[])
{
cout "01_Read_Stack" endl;
/**//* Create a LUA VMachine */
lua_State *L = lua_open();
luaopen_base(L);
luaopen_table(L);
luaL_openlibs(L);
luaopen_string(L);
luaopen_math(L);
int iError;
iError = luaL_loadfile(L, "../test01.lua");
if (iError)
{
cout "Load script FAILED!" lua_tostring(L, -1) endl;
lua_close(L);
return 1;
}
iError = lua_pcall(L, 0, 0, 0);
if (iError)
{
cout "pcall FAILED" lua_tostring(L, -1) iError endl;
lua_close(L);
return 1;
}
lua_getglobal(L, "rows");
lua_getglobal(L, "cols");
if (!lua_isnumber(L, -2))
{
cout "[rows] is not a number" endl;
lua_close(L);
return 1;
}
if (!lua_isnumber(L, -1))
{
cout "[cols] is not a number" endl;
lua_close(L);
return 1;
}
cout "[rows]"
static_castint> (lua_tonumber(L, -2))
"[cols]"
static_castint> (lua_tonumber(L, -1))
endl;
lua_pop(L,2);
lua_close(L);
return 0;
}