将 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");
输出结果
1

2

3

4

5

以上是 将 Lua 脚本从 C++ 传递给 Lua 的全部内容, 来源链接: utcz.com/z/357137.html

回到顶部