由于lua是用标准C写的,所以嵌入VC++里时,必须要用
extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
来声名.
下面是我用VC++按lua文档里写的一个读取lua文件里的公共变量的程序
int GetWidthHeight(int &nWidth,int &nHeight )
{
int width,height;
int x,y;
lua_State *L = lua_open();
lua_cpcall(L,luaopen_base,0);
lua_cpcall(L,luaopen_io,luaopen_string,luaopen_math,0);
if (luaL_loadfile(L,"G://lua-5.1.2//Test//Test.lua") ||
lua_pcall(L,0) )
{
TRACE1("cannot run configuration file: %s",
lua_tostring(L,-1) );
}
lua_getglobal(L,"width");
lua_getglobal(L,"height");
lua_getglobal(L,"x");
lua_getglobal(L,"y");
if (!lua_isnumber(L,-4))
{
TRACE0("/'width/' should be a number/n" );
}
if (!lua_isnumber(L,-3))
{
TRACE0("/'height/' should be a number/n" );
}
if (!lua_isnumber(L,-2))
{
TRACE0("/'x/' should be a number/n" );
}
if (!lua_isnumber(L,-1))
{
TRACE0("/'y/' should be a number/n" );
}
nWidth = width = (int)lua_tonumber(L,-4);
nHeight = height = (int)lua_tonumber(L,-3);
x = (int)lua_tonumber(L,-2);
y = (int)lua_tonumber(L,-1);
lua_close(L);
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wgm001/archive/2007/08/13/1740232.aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。