问题标签 [luajit]

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 投票
2 回答
689 浏览

lua - lcurses中的宽字符

在 Lua 中使用lcurses进行编程时,我注意到相同的代码在lualuajit上的运行方式不同(假设源存储在 UTF-8 中):

luajit上运行时,所有内容都按预期打印,但在普通lua上,每个 UTF-8 字符都会变成看起来很奇怪的序列:

这是在 Linux 下使用 en_US.UTF-8 语言环境在 UTF-8 感知控制台中运行的。我还研究了lcurses rock附带的curses.so,发现它使用的是正确的ncurses库(支持宽字符):

软件版本:

  • lua 5.1.4
  • luajit 2.0.0 beta7
  • 诅咒 5.9
  • lcurses 6-2(从 luarocks 安装)

编辑:

问题本身,我从一开始就忘记写了:

  • 有人知道为什么会这样吗?
  • 如何让它在普通的lua中工作?
0 投票
1 回答
2053 浏览

lua - luajit2.0.0 -- 分段错误:11

我使用http://lua-users.org/wiki/SimpleLuaApiExample中的一个简单示例进行测试。该示例可以成功地与 libluajit.a 静态链接,但是在运行它时会出现此错误消息:

我使用 2012-11-08 发布的 LuaJIT-2.0.0。我的操作系统是 Mac OSX Lion 10.7.5。

测试步骤:

编译 luajit-2.0.0

编译并运行示例应用程序

test.cscript.lua都来自这里。文件夹lj2包含了上面luajit-2.0.0的源码,刚刚编译成功。

使用 clang 编译器 使用 gcc 编译器

但是如果我用 test.c 替换 lj2/src/luajit.c,它会给我一个成功的。这很奇怪。见下文:

0 投票
0 回答
271 浏览

luajit - Luajit API 的最佳使用

我正在开发一个程序,它会生成一些 Lua 代码然后运行它。

我可以(1)让程序生成一个文件,以便我可以使用命令行 luajit 编译器,或者(2)让程序通过 API 直接运行 luajit。

经过一些基准测试后,方法 (1) 似乎更快。这让我觉得也许我没有以最佳方式使用 API。我基本上做了一系列的 dostring(chunk) 并检查错误。

那么在针对性能的时候有没有使用 API 的好方法呢?

0 投票
1 回答
3029 浏览

lua - LuaJIT vs luac 用于自定义 Lua 字节码解释器

相关:标准 Lua 字节码和 LuaJIT 字节码的区别

我正在编写一个 Lua 字节码解释器,我试图在 LuaJIT 和 luac 之间做出决定以生成初始字节码。由于我正在编写解释器,因此我不会获得任何 JIT 性能,所以这一切都归结为编译器的质量和生成的字节码的设计。

任何一个编译器都明显更好吗?

我在 Dart 中写这个(也是解释的),所以任何来自编译器的免费优化都是值得赞赏的。

0 投票
2 回答
909 浏览

optimization - LuaJIT FFI 字符串比较

我正在绑定一个经常使用字符串状态的第三方 C API。例如(伪代码):

大多数str情况下是一个"OK"字符串。

最快的检查方法是什么?

我想在这里避免字符串实习:

0 投票
1 回答
789 浏览

optimization - Argv 函数与 LuaJIT FFI 的 vararg

有没有比这更有效的方法来处理 argv 函数?

0 投票
1 回答
3972 浏览

lua - 如何将指向 LuaJIT ffi 的指针传递给用作输出参数?

假设有以下 C 代码:

...如何在 LuaJIT 中进行跟踪?

0 投票
2 回答
458 浏览

lua - 全局变量不好,这会以任何方式提高性能吗?

我在 LuaJIT 工作,我所有的库和其他东西都存储在“foo”中,如下所示:

现在我想知道,是否会使用元表并保持所有库的本地帮助?或者这不重要。我想到的是这样的:

我现在真的没有工具来对此进行基准测试,但是将库的实际内容保存在本地表中会提高性能吗?哪怕是一点点?

我希望我清楚这一点,基本上我想知道的是:性能方面,第二种方法更好吗?

如果有人可以链接/详细解释如何在 Lua 中处理全局变量,这也可以解释这一点。

0 投票
1 回答
1023 浏览

opengl-es - LuaJIT 向量库

我正在使用 LuaJIT 和 OpenGL ES 2.0 作为一种快速创建一些 3D 交互式场景的方法。

我一直在忙着重新发明轮子,制作自己的矢量库。我的问题是,还有其他人有这种事情的经验吗?那里有图书馆吗?是否有专门为 LuaJIT 构建的库(使用 LuaJIT 的 FFI)?

0 投票
2 回答
2102 浏览

c++ - 嵌入 luajit 未定义的引用

我没有成功尝试将 luajit 嵌入(静态)到 C++ 应用程序中。我按照 luajit 网站的步骤无济于事,用谷歌搜索了这个主题,没有得到任何相关信息,并尝试了我能想到的一切。

似乎我遇到的问题是 g++ 没有正确链接它,或者 luajit 没有正确构建。

这就是我要编译的内容:

我得到的undefined reference错误几乎就像我根本没有链接 luajit 一样。

在将链接选项设置如下后,我正在尝试使用 eclipse cdt (mingw) 对其进行编译:

并且 eclipse cdt 似乎正在尝试将其编译如下:

我已经从他们的下载页面下载了 LuaJIT-2.0.1 zip(最新版本),并按照以下安装指南进行操作:

  • 解压它。
  • 启动了一个 cmd 并 cded 到LuaJIT-2.0.1/src/
  • make BUILDMODE=static了,收到了一条好OK Successfully built LuaJIT消息

除此之外,没有很多关于嵌入 luajit 的信息,甚至在安装指南中也没有。

但是,对src文件夹进行grepping 会luaL_newstatelibluajit.a.

我正在使用:

  • 明威的g++ (rev, Built by MinGW-builds project) 4.8.0 20130314 (experimental)
  • 明威的GNU Make 3.82.90 Built for i686-pc-msys
  • Win8 64位