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.
一、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.
相关文章推荐
- lua5.1.5 c++交互
- C++与LUA间的交互
- C/C++与Lua之间进行数据函数交互以及解决“PANIC: unprotected error in call to Lua API
- Lua和C++交互详解
- lua与C++交互
- Lua与C++交互:函数
- [lua] 使用lua string作为二进制buffer和c/c++交互
- C++与Lua交互
- 在C++使用LUA交互,LUA实现闭包,C++/LUA相互闭包
- Lua 与C/C++ 交互系列: Lua调用C/C++函数(4-2)
- LUA与C++交互第一篇
- Lua和C++交互详细总结
- c++和MFC 交互通过lua脚本实例
- Lua与C/C++的交互4:往Lua中写入C/C++变量
- lua c/c++ 交互 基础
- Lua与C++交互初探之C++调用Lua
- Lua和C++交互详细总结
- Lua和C++交互详细总结
- LUA和C/C++交互-注册回调函数
- c++与lua的交互