C++的lua使用例子
时间: 2024-06-13 20:01:19 浏览: 118
c++ 调用lua函数简单案例
4星 · 用户满意度95%
C++语言可以使用Lua作为脚本语言,通过嵌入Lua解释器来执行Lua脚本。下面是一个简单的C++调用Lua脚本的例子:
假设我们有一个Lua脚本文件test.lua,内容如下:
```lua
function add(a, b)
return a + b
end
```
下面是C++代码:
```cpp
#include <iostream>
#include "lua.hpp"
int main() {
// 初始化Lua解释器
lua_State* L = luaL_newstate();
luaL_openlibs(L);
// 加载Lua脚本文件
if (luaL_dofile(L, "test.lua") != LUA_OK) {
std::cerr << "Error: " << lua_tostring(L, -1) << std::endl;
lua_close(L);
return 1;
}
// 调用Lua函数add(a, b)
int a = 1, b = 2;
lua_getglobal(L, "add");
lua_pushnumber(L, a);
lua_pushnumber(L, b);
if (lua_pcall(L, 2, 1, 0) != LUA_OK) {
std::cerr << "Error: " << lua_tostring(L, -1) << std::endl;
lua_close(L);
return 1;
}
// 获取返回值
double result = lua_tonumber(L, -1);
std::cout << "add(" << a << ", " << b << ") = " << result << std::endl;
// 关闭Lua解释器
lua_close(L);
return 0;
}
```
运行结果如下:
```
add(1, 2) = 3
```
阅读全文