您的位置:首页 > 编程语言 > Lua

C++与Lua的交互(一)

2012-10-23 22:56 429 查看
项目开发的脚本层用的是Lua,引擎用的是C++。但是经理不给开放引擎层的代码。刚好最近项目空闲,安排了学习C++跟Lua的通信。

一、C++与Lua数据交互

数据交互主要是通过C API来实现

首先,要加入Lua的头文件

extern "C" {

#include "lua.h"

#include "lualib.h"

#include "lauxlib"

}

也可以用#include "lua.hpp"代替

要使用的lua文件为:test.lua,其中有个变量a = 1

1.创建一个Lua虚拟机;

lua_State *L;

L=lua_open();

链接lua库

luaL_openlibs(L);

早期版本可能得一个个加载。

2.导入lua文件

luaL_dofile(L,"test.lua");

3.获取想要的lua变量:a

lua_getglobal(L,"a");

int b = (int)lua_tonumber(L,-1);

cout<<b<<endl;

这样就获取了test.lua中的变量a.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: