MFH*_*MFH 6 c++ lua cross-platform
我想编写一个C++ - 可以在执行期间交互/调用Lua脚本的程序.该程序的一个关键概念是完全平台独立性,但我似乎无法找到实际提供某些东西的Lua-build.
到目前为止我发现的Lua-builds要么基于环境变量,要么基于特定的库.lib
,.dll
或者.so
.来自lua.org的官方Lua-source 也不是我正在寻找的,因为它定义了一个主要功能......
是否有一个简单的 - 最好的情况是像sqlite-amalgamation - 用于C/C++的Lua-interpreter,它没有任何这些依赖项?
以下是我用作项目起点的内容(前不久我发现了类似的内容并对其进行了调整,以便可以更快地进行更改):
lua脚本文件:
-- Start
-- Script: myscript.lua
print("this is lua")
-- End
Run Code Online (Sandbox Code Playgroud)
C文件:
#include <stdlib.h>
#include <stdio.h>
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
int main(void) {
static const luaL_reg lualibs[] = {
{ "base", luaopen_base },
{ NULL, NULL }
};
static void openlualibs(lua_State *l) {
const luaL_reg *lib;
for (lib = lualibs; lib->func != NULL; lib++) {
lib->func(l);
lua_settop(l, 0);
}
}
lua_State *l;
l = lua_open();
openlualibs(l);
printf("now calling lua\n\n");
lua_dofile(l, "myscript.lua");
printf("\ndo something else\n\n");
lua_close(l);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您可以自由地将其用作项目的基础。