Lua功能没有做任何事情

时间:2012-10-03 21:18:29

标签: 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;
}

1 个答案:

答案 0 :(得分:5)

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

你不应该使用dostring来进行测试。