问题标签 [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.
lua - lcurses中的宽字符
在 Lua 中使用lcurses进行编程时,我注意到相同的代码在lua和luajit上的运行方式不同(假设源存储在 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中工作?
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.c和script.lua都来自这里。文件夹lj2包含了上面luajit-2.0.0的源码,刚刚编译成功。
使用 clang 编译器 使用 gcc 编译器但是如果我用 test.c 替换 lj2/src/luajit.c,它会给我一个成功的。这很奇怪。见下文:
luajit - Luajit API 的最佳使用
我正在开发一个程序,它会生成一些 Lua 代码然后运行它。
我可以(1)让程序生成一个文件,以便我可以使用命令行 luajit 编译器,或者(2)让程序通过 API 直接运行 luajit。
经过一些基准测试后,方法 (1) 似乎更快。这让我觉得也许我没有以最佳方式使用 API。我基本上做了一系列的 dostring(chunk) 并检查错误。
那么在针对性能的时候有没有使用 API 的好方法呢?
lua - LuaJIT vs luac 用于自定义 Lua 字节码解释器
我正在编写一个 Lua 字节码解释器,我试图在 LuaJIT 和 luac 之间做出决定以生成初始字节码。由于我正在编写解释器,因此我不会获得任何 JIT 性能,所以这一切都归结为编译器的质量和生成的字节码的设计。
任何一个编译器都明显更好吗?
我在 Dart 中写这个(也是解释的),所以任何来自编译器的免费优化都是值得赞赏的。
optimization - LuaJIT FFI 字符串比较
我正在绑定一个经常使用字符串状态的第三方 C API。例如(伪代码):
大多数str
情况下是一个"OK"
字符串。
最快的检查方法是什么?
我想在这里避免字符串实习:
optimization - Argv 函数与 LuaJIT FFI 的 vararg
有没有比这更有效的方法来处理 argv 函数?
lua - 如何将指向 LuaJIT ffi 的指针传递给用作输出参数?
假设有以下 C 代码:
...如何在 LuaJIT 中进行跟踪?
lua - 全局变量不好,这会以任何方式提高性能吗?
我在 LuaJIT 工作,我所有的库和其他东西都存储在“foo”中,如下所示:
现在我想知道,是否会使用元表并保持所有库的本地帮助?或者这不重要。我想到的是这样的:
我现在真的没有工具来对此进行基准测试,但是将库的实际内容保存在本地表中会提高性能吗?哪怕是一点点?
我希望我清楚这一点,基本上我想知道的是:性能方面,第二种方法更好吗?
如果有人可以链接/详细解释如何在 Lua 中处理全局变量,这也可以解释这一点。
opengl-es - LuaJIT 向量库
我正在使用 LuaJIT 和 OpenGL ES 2.0 作为一种快速创建一些 3D 交互式场景的方法。
我一直在忙着重新发明轮子,制作自己的矢量库。我的问题是,还有其他人有这种事情的经验吗?那里有图书馆吗?是否有专门为 LuaJIT 构建的库(使用 LuaJIT 的 FFI)?
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_newstate
在libluajit.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位