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中使用cjson+; 我有一个C++程序,它创建了一个LuaStand并运行自定义的Lua脚本。如果我希望有LuaYAtHead预加载而不是要求在Lua代码中调用“要求”,我能知道它是否可能,我如何能做到这一点? < _C++_Lua - Fatal编程技术网

在C+中的嵌入式Lua中使用cjson+; 我有一个C++程序,它创建了一个LuaStand并运行自定义的Lua脚本。如果我希望有LuaYAtHead预加载而不是要求在Lua代码中调用“要求”,我能知道它是否可能,我如何能做到这一点? <

在C+中的嵌入式Lua中使用cjson+; 我有一个C++程序,它创建了一个LuaStand并运行自定义的Lua脚本。如果我希望有LuaYAtHead预加载而不是要求在Lua代码中调用“要求”,我能知道它是否可能,我如何能做到这一点? < ,c++,lua,C++,Lua,在C+中的嵌入式Lua中使用cjson+; 我有一个C++程序,它创建了一个LuaStand并运行自定义的Lua脚本。如果我希望有LuaYAtHead预加载而不是要求在Lua代码中调用“要求”,我能知道它是否可能,我如何能做到这一点? < P>您可以调用一次通过C++,并且使一个全局变量不返回返回值,如果您不想调用脚本中的要求。 例如C++中的D: < /P> if (luaL_dostring(L, "cjson = require(\"cjson\")")) // run c

在C+中的嵌入式Lua中使用cjson+;

我有一个C++程序,它创建了一个LuaStand并运行自定义的Lua脚本。如果我希望有LuaYAtHead预加载而不是要求在Lua代码中调用“要求”,我能知道它是否可能,我如何能做到这一点?

< P>您可以调用一次通过C++,并且使一个全局变量不返回返回值,如果您不想调用脚本中的要求。

例如C++中的D: < /P>

if (luaL_dostring(L, "cjson = require(\"cjson\")")) // run code
    std::cout << luaL_checkstring (L, -1) << std::endl; // print error
if(luaL\u dostring(L,“cjson=require(\“cjson\”)//运行代码

是的,这是可能的。用这个。使用或函数作为参数。您需要将cjson代码链接到可执行文件,编译器可能希望为
luaopen.*
函数声明函数。如果您使用Lua 5.1(它还没有luaL_requiref
),您可以使用或从中窃取。

谢谢您的回答!但是您提到的两个函数都是在.c文件中定义的,而不是在头文件中定义的,那么这是否意味着我必须修改它们的代码或在某个头文件中公开该函数?您可以创建一个头文件并将其包含在内,或者只需将声明
int luaopen_cjson(lua_State*)在您自己的源代码的开头。