Lua函数什么都不做 我终于用C++实现了Lua的编译器运行。我现在试着开始一些教程,但第一个程序什么也做不了。我下载了他们使用的代码,但仍然一无所获。但是没有错误。测试结果很好,但我没有收到luaL_dostring的回复。我使用的是v5.1.4-46。是否可能是我以某种不会导致错误的方式错误地安装了它?我打印出了lua州的内存地址,这似乎起作用了。如果有人能给我一些运行的示例代码,我将非常感激

Lua函数什么都不做 我终于用C++实现了Lua的编译器运行。我现在试着开始一些教程,但第一个程序什么也做不了。我下载了他们使用的代码,但仍然一无所获。但是没有错误。测试结果很好,但我没有收到luaL_dostring的回复。我使用的是v5.1.4-46。是否可能是我以某种不会导致错误的方式错误地安装了它?我打印出了lua州的内存地址,这似乎起作用了。如果有人能给我一些运行的示例代码,我将非常感激,c++,lua,C++,Lua,代码如下: #include <lua.hpp> #include <iostream> #include <string> using namespace std; int main() { lua_State *L = lua_open(); luaL_openlibs(L); cout << "Test" << endl; luaL_dostring(L, "print(\"Hello fr

代码如下:

#include <lua.hpp>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    lua_State *L = lua_open();
    luaL_openlibs(L);

    cout << "Test" << endl;

    luaL_dostring(L, "print(\"Hello from Lua!\n\")");

    lua_close(L);
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
lua_State*L=lua_open();
luaL_openlibs(L);

cout您的dostring语法生成了无效的Lua代码…\n“在执行之前被传递给Lua解析器。您需要一个“\\n”…这样认为。所以您的“luaL\u dostring”错误代码实际上是一个语法错误。有趣的是


您不应将dostring用于测试以外的用途。

您的dostring语法生成无效的Lua代码…\n“在执行之前传递给Lua解析器。您需要一个“\\n”…这样认为。因此您的“luaL\u dostring”错误代码实际上是一个语法错误。有趣的是


除了测试之外,您不应该使用dostring。

感谢您的回复,但这没有任何作用。甚至删除lua_close()完全不起作用。非常感谢。这修复了所有问题。有趣的是,我直接从教程中获得的代码没有起作用……如果这种情况再次发生,我可能会尝试其他教程。再次感谢。是的,实际上它的逻辑……但不是很明显。我花了一点时间才理解:)如果出现错误,请检查返回值。干杯。谢谢或者是回应,但那没有任何作用。甚至删除lua_close()完全没有任何作用。非常感谢。这修复了所有问题。有趣的是,我直接从教程中获得的代码无法工作……如果再次出现这种情况,我可能会尝试其他教程。再次感谢。是的,实际上它的逻辑……但不是很明显。我花了一点时间才理解:)如果出现错误,请检查返回值。干杯。谢谢u、 老实说,我不知道存在。现在全部接受:)谢谢。老实说,我不知道存在。现在全部接受:)