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;
}
点赞
用户884474
用户884474

你的文档字符串语法生成无效的 Lua 代码... 在执行之前,"\n"会传递给 Lua 解析器。你需要使用 "\\n"... 我这么认为。所以,你的"luaL_dostring"错误代码实际上是语法错误。有趣的是...

你不应该将 dostring 用于除了测试之外的东西。

2012-10-03 21:21:59