将 Lua 脚本从 C++ 传递给 Lua
将 Lua 脚本从 C++ 传递给 Lua 的想法包括我们必须加载库和头文件,因为 Lua 是 ANSI C,如果我们用 C++ 编码,我们需要将#includes括在 extern “C ”。
旧的和最常用的方法是加载 Lua 提供的库,然后简单地从 Lua 调用 C++ 函数。
为了将脚本从 C++ 加载到 Lua,我们需要设置和关闭 Lua 解释器,我们可以在以下代码的帮助下完成。
示例
考虑如下所示的代码 -
extern "C" {#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
int main(int argc, char *argv[]){
lua_State* L;
initialize Lua interpreter L = luaL_newstate();
load Lua base libraries (print / math / etc) luaL_openlibs(L);
////////////////////////////////////////////
We can use Lua here !
/////////////////////////////////////////////
lua_close(L);
printf( "按回车退出..." );
getchar();
return 0;
}
在此之后,我们可以简单地使用LuaL_dostring(L, …)函数将一个字符串直接发送到 Lua 解释器,它将被执行,就像该字符串在一个用dofile执行的文件中一样。
示例
考虑如下所示的代码 -
luaL_dostring(L, "for x = 1, 5 do print(x) end");输出结果
12
3
4
5
以上是 将 Lua 脚本从 C++ 传递给 Lua 的全部内容, 来源链接: utcz.com/z/357137.html