Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C+中嵌入Lua+; 我一直试图在一个C++应用程序中嵌入Lua,但由于编译器抱怨“LuaaOnEnter”,所以没有用。我使用的是Lua 5.2。_C++_Lua_Undefined_Embedding - Fatal编程技术网

在C+中嵌入Lua+; 我一直试图在一个C++应用程序中嵌入Lua,但由于编译器抱怨“LuaaOnEnter”,所以没有用。我使用的是Lua 5.2。

在C+中嵌入Lua+; 我一直试图在一个C++应用程序中嵌入Lua,但由于编译器抱怨“LuaaOnEnter”,所以没有用。我使用的是Lua 5.2。,c++,lua,undefined,embedding,C++,Lua,Undefined,Embedding,我发现很多文章声称lua_open()在第五个版本中被替换,但没有一篇提到什么 下面是我试图编译的代码 extern "C" { #include "../lua/lua.h" #include "../lua/lualib.h" #include "../lua/lauxlib.h" } int main() { int s=0; lua_State *L = lua_open(); // load the libs luaL_openlibs(L);

我发现很多文章声称lua_open()在第五个版本中被替换,但没有一篇提到什么

下面是我试图编译的代码

extern "C" {
#include "../lua/lua.h"
#include "../lua/lualib.h"
#include "../lua/lauxlib.h"
}

int main()
{
    int s=0;

    lua_State *L = lua_open();
    // load the libs
    luaL_openlibs(L);
    luaL_dofile(L,"example.lua");
    printf("\nDone!\n");
    lua_close(L);

    return 0;
}

事实上,
lua_open
功能在本手册中并未提及

lua\u状态
lua\u新闻状态
构造,您可以从
lauxlib.h
使用
lua\u新闻状态


获得此类问题答案的一个更快的方法是查看Lua5.2源代码(我刚刚做了)。

LuaOpen
在5.1手册中还没有出现。它只在兼容性方面起作用,现在已在5.2中删除。另请参见这个非常有用的堆栈溢出答案,并提供一个lua_Alloc()函数示例以及指向lua文档的链接。下面是第二个堆栈溢出答案,给出了有关lua内存分配的更多细节