问题标签 [luac]

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 投票
3 回答
356 浏览

.net - 是否存在任何实现 luac 功能的 .NET DLL?

有谁知道封装 lua 5.1 编译器的任何 DLL(最好是 .net)?我正在开发一个 .net 项目,其中一部分需要编译 lua 脚本,我宁愿有一个可以发送脚本代码的 DLL,而不是将脚本发送到临时文件并运行 luac.exe。

编辑:我需要一个 .NET 库,它以输出标准 lua 字节码的方式实现 luac(不是编译到 CLR 的 lua 库)。编译 lua c 源代码不起作用,因为当我在 ac# 项目中包含对 dll 的引用时,Visual Studio 抱怨它不是一个有效的程序集。我的搜索到目前为止还没有找到任何东西。

0 投票
6 回答
3107 浏览

macos - Lua 在 Mac OS X 上编译脚本 - Intel vs PPC

多年来一直在 Mac OS X 通用二进制应用程序中使用 Lua 5.0。Lua 脚本使用 luac 编译,编译后的脚本与应用程序捆绑在一起。他们已经在 Tiger and Leopard、Intel 或 PPC 中正常工作。

当时为了避免库问题,我只是将 Lua src 树添加到我的 Xcode 项目中并按原样编译,没有任何问题。

是时候更新到更现代的 Lua 版本了,所以我用 5.1.4 替换了我的源代码树。我使用make macosx重建了 luac (机器在 Intel 上运行 Leopard)。

未编译的脚本一如既往地在 Tiger 和 Leopard、Intel 和 PPC 中正常工作。

但是,现在编译的脚本无法在 PPC 机器上加载。

所以我用'ansi'标志重建了luac,并重新编译了我的脚本。同样的错误。同样,“通用”的构建标志也没有产生任何乐趣。

谁能告诉我下一步我能做什么?

0 投票
1 回答
487 浏览

compiler-construction - 编译程序时 Lua 崩溃

我正在开发一个非常非常简单的 Lua 程序,试图自学这门语言。这是三行程序:

当我将该程序与 Lua 一起用作脚本时,它运行良好。当我编译程序时,它可以工作。但是,当我运行编译后的程序时,我得到了这个:

替代文字 http://profnano.org/andy/misc/img/lua_crash.jpg

我在 Pentium 4 上的 Windows XP 上使用 Lua 5.1.2。我卸载了 Lua 并重新安装了它,但没有任何效果。我正在编译脚本如下:

我做错了什么,还是这是一个已知的错误?我希望能够编写 Lua 程序以在未安装 Lua 的计算机上运行。帮助!(谢谢!)

0 投票
3 回答
2028 浏览

c - Lua 错误没有通过布尔值

这有效...

- 这些不...

otherObj测试仅评估 otherObj 是否nil存在。给定的变量在前一行中检索。应用程序运行时出现的错误是:

unprotected error to call in Lua API(script path...: Did not pass boolean to SetNoClip).

SetNoClip 是应用程序中的一个函数,它通过lua_toboolean.

那么为什么第一个工作,第二个和第三个返回错误呢?

编辑:

SetNoClip这个定义。

问题是它lua_isboolean不进行任何隐式类型转换(但lua_toboolean确实如此),并且只会为文字布尔值返回 true。因此,如果它看到 nil,它将返回布尔值未通过。我刚刚删除了对布尔文字的错误检查,因为人们(包括我)通常依赖于不是布尔文字的参数被正确地视为布尔值。

0 投票
1 回答
1025 浏览

compiler-construction - 关于编译Lua文件的问题

我想将我的 lua 文件编译为 LuaC (myfile.luac)。我正在使用 Scite 来编译 Lua。听说,我直到现在才开始在 32 位系统上将我的 lua 文件编译为 64 位二进制 luaC 文件。那么如何在 32 位系统 windows xp 上将 lua 编译为 32 位和 64 位 luaC?

顺便说一句,使用 Luac 有什么提示吗?而且,我的文件可以反编译吗?我希望不是 ...

0 投票
4 回答
3580 浏览

lua - 32 位 Lua 字节码可以在 64 位系统上工作吗?

编译的 Lua 文件(32 位 *.luac 文件)可以在 64 位系统上工作吗?

0 投票
1 回答
346 浏览

macos - Textmate - 无法找到 luac

我将 lua 包安装到 Textmate,但是当单击“检查语法”时,我收到此错误:

我可能正确安装了 lua,当我将“lua”写入终端时,我会得到:Lua 5.1.4 版权所有 (C) 1994-2008 Lua.org, PUC-Rio

我正在运行 Mac OS X Lion 10.7.2

哪里有问题?谢谢你。

0 投票
1 回答
2799 浏览

scripting - 如何为多个实体共享/重用 Lua 脚本?

我正处于使用 Lua 脚本编写 C++ 游戏的设计/骨架编码阶段,但我遇到了设计问题:

游戏将有许多相同类型实体的副本,其行为由相同的脚本控制。有没有一种简单的方法可以在单个 lua_state 中在相同类型的实体之间共享脚本?我只能在互联网上找到这个问题被问过几次;我已经阅读了关于在不同的 lua_state 中加载相同的脚本是否是一个好主意的混合反馈,而不是关于替代方案的深入反馈。

它简单且防弹,但我认为在创建相同实体类型的每个实例时加载、编译和存储相同字节码的附加副本是一种悲惨的浪费,所以我想找出一个更聪明的解决方案。

这是我想到的两个解决方案。我对编程或 C 或 OO 概念并不陌生,但我仍在学习 Lua,尤其是 Lua/C API。我认为我的想法是合理的,但我什至不确定我将如何实施它们。:

  1. 在 Lua 脚本中实现 OO,并让每个实体由一个 Lua 对象表示;所有 Lua 逻辑都将作用于该对象。这也将具有允许任何单一实体改变全球环境的好处(或“好处”)。

  2. 使用 setfenv 将每个实体封装在其自己的环境中,并从全局空间复制所有函数的引用。据我了解,env 只是一个与默认全局不同的表,但我已经研究了 setfenv 但我不知道我会怎么做。

0 投票
2 回答
683 浏览

lua - luac 生成的字节码可以在没有 Lua 库的计算机上使用吗?

如果我用 编译一个常规.lua文件luac,可以在没有安装 Lua 库或解释器的情况下运行结果吗?

0 投票
1 回答
378 浏览

c - 如何从C中的lua访问多维表?

你好,我真的被这个看似简单的任务难住了。我可以访问传递给 C 函数的表的属性,但不能访问我在其中创建的任何子表的成员。

基本上我希望能够简单地从属性表中提取字符串,这样我就可以根据用户的期望创建一个“轮子”。

这是我到目前为止所拥有的(尝试了这么多我的大脑被炸了)

路亚端:

C面:


对此的任何帮助将不胜感激