Lua功能没有做任何事情

Ket*_*ias 1 c++ lua

我终于能够使用C++使用我的编译器运行Lua.我现在尝试开始一些教程,第一个程序将不会做任何事情.我下载了他们使用的代码,但它仍然没有做任何事情.但是没有错误.测试打印出来很好,但我没有得到luaL_dostring的响应.我使用的是v5.1.4-46.是否有可能以某种方式错误地安装它而不会导致错误?我打印出了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 from Lua!\n\")");

    lua_close(L);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

msc*_*ock 5

您的dostring语法生成无效的Lua代码..."\n"在执行之前传递给lua解析器.你需要一个"\\n"......这么想.所以你的"luaL_dostring"错误代码实际上是一个语法错误.有趣的事......

你不应该使用dostring进行测试.