问题标签 [lua-5.3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
710 浏览

lua - 尝试索引一个 nil 值(全局“数学”))

我正在使用 lua 在我的游戏中制作脚本,

将 lua libs 版本从 5.1 更新到 5.3 后,每次在函数中使用 math.X 时,游戏引擎都会出现错误

错误 :

原始代码:

你有什么解决办法 ?

0 投票
1 回答
193 浏览

gcc - 使用 liblua.a (lua5.3) 编译的 C 程序无法加载 C 动态库

我首先下载 lua-5.3.5 ,并将源代码放在我的工作目录中并使用

所以我在 ./lua-5.3.5/src 中得到了 liblua.a 和 lua 二进制文件。

然后我写了一个这样的 C 动态库:

我用命令编译:

如果我使用原始的lua二进制文件,它可以加载

但是如果我编写与 liblua.a 链接的 AC 程序,它就无法加载动态库。

编译:

跑:

0 投票
1 回答
258 浏览

lua - 为什么lua require不会搜索当前目录?

说我有两个文件test.luam.lua在一个文件夹中,test.lua如下:

然后我运行这个文件,但是它引发了一个错误:

如您所见,这条线no file './m.lua'出现了,但事实并非如此。./m.lua存在,并且文件权限的东西是好的。如果我对路径进行硬编码:

它将按预期工作。

当需要一个模块时,我应该怎么做才能使lua搜索当前目录(如python的导入)

0 投票
0 回答
277 浏览

c++ - 如何从内存转储中解码 Lua 5.3 调用堆栈?

我正在使用嵌入式 Lua VM 扩展应用程序。我的脚本有时会导致它崩溃,我希望能够从产生的崩溃转储 (Windows) 中获得一些意义。

有没有办法解码 Lua 调用堆栈?我意识到 C 调用堆栈不会与 Lua 非常相似,但它是我正在尝试学习的脚本代码。

我使用 C++ 调试器阅读了 Lua 调用堆栈(2010 年为 Lua 5.1 编写),其中包含许多有用的想法(尽管 Lua VM 的一些细节在 5.1 和 5.3 之间非常不同)。当我连接到正在运行的进程时,我可以使用“使用堆栈转储功能”的想法,但是在调试故障转储时我不知道如何完成类似的事情。Visual Studio 不允许我在立即窗口中执行任何操作或作为 Watch 表达式执行任何操作。我怀疑在验尸情况下采用这种方法并不容易。我错了吗?

我有什么选择?我找不到任何提供我想要的功能的 Visual Studio 扩展。它们似乎适用于调试脚本(在正在运行的进程中)和单步执行代码。有什么已经存在的东西可以帮助我吗?

我唯一能想到的就是在 JavaScript 中重新实现一些 Lua 功能的子集,并从 WinDBG 调用堆栈转储函数。像这个答案(How can I get the lua stack trace from a core file using gdb)可能最接近我想要的答案。当然,有一些现有的代码或项目可以适应我的需要,而无需debug用在调试器中运行的语言实际重新实现 Lua 5.3 的功能。我可以从哪里开始?

0 投票
1 回答
65 浏览

lua - Lua 表示例对我不起作用

我正在尝试来自 lua.org 和我的第 4 版 Programming in Lua hardcopy 的代码,据我阅读,所有这些表格示例应该可以工作,但 4 个中有 3 个没有,而且我找不到任何文档说为什么。对我所缺少的东西的一些帮助表示赞赏。我假设一些规范已经改变,因为我已经发现 table.getn() 不再可用。我的 linux 盒子有 Lua 5.3.5

结果

0 投票
1 回答
39 浏览

lua - Zerobrane 不访问环境

我正在从 Ubuntu 20.04 迁移到 Debian 10。现在 Lua 5.3 没有使用“require”找到我自己的模块。以前在 Ubuntu 上工作得很好,我怀疑我现在错过了一些东西......

最欢迎指点!谢谢

在 ~/.bashrc 我从以前的安装中复制了:

运行编译时我明白了,所以它没有查看正确的文件夹

测试

显示环境未拾取,甚至 PATH 不完整。我也尝试过 .profile ,没有变化: