Lua 函数不执行任何操作

Lua Function Not Doing Anything

本文关键字:任何 操作 执行 函数 Lua      更新时间:2023-10-16

我终于能够使用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;
}

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

您不应该将 doString 用于测试以外的其他用途。