加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Lua嵌入VC++编程

发布时间:2020-12-14 22:20:52 所属栏目:大数据 来源:网络整理
导读:转载地址:http://blog.csdn.net/wgm001/article/details/1740232 由于lua是用标准C写的,所以嵌入VC++里时,必须要用 extern "C" { ?#include "lua.h" ??#include "lualib.h" ??#include "lauxlib.h" } 来声名. 下面是我用VC++按lua文档里写的一个读取lua文

转载地址:http://blog.csdn.net/wgm001/article/details/1740232


由于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; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读