- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MetaLua 可以和 LuaJIT 一起使用吗?
如果是这样,那又如何呢?
(我找不到任何可靠的信息)
最佳答案
Metalua 编译器似乎是用 Lua 和 Metalua 编写的,所以理论上是的。 makefile揭示了一些有趣的核心部分。 Metalua 本身似乎运行在 Lua 之上。
cat > ${BUILD_BIN}/metalua <<EOF
#!/bin/sh
export LUA_PATH='?.luac;?.lua;${BUILD_LIB}/?.luac;${BUILD_LIB}/?.lua'
export LUA_MPATH='?.mlua;${BUILD_LIB}/?.mlua'
${LUA} ${BUILD_LIB}/metalua.luac \$*
EOF
但是,LuaJIT 无法像 LuaC 那样在命令行将多个脚本编译成一个输出文件。简单地用 LuaJIT 实例替换 LUAC
是行不通的。必须针对与 LuaJIT 兼容的 makefile 调整以下行。
${LUAC} -o ${BUILD_LIB}/metalua/bytecode.luac lopcodes.lua lcode.lua ldump.lua compile.lua
${LUAC} -o ${BUILD_LIB}/metalua/mlp.luac lexer.lua gg.lua mlp_lexer.lua mlp_misc.lua mlp_table.lua mlp_meta.lua mlp_expr.lua mlp_stat.lua mlp_ext.lua
不幸的是,与一些被编译成 bytecode.luac
的文件的内容相比,这个问题显得苍白无力,因为它们引用了 PUC-Lua 操作码和字节码,绝对是 与 LuaJIT 不兼容。
我想说,如果可能的话,那么它肯定需要对编译器进行一些重新编程,但不太可能直接使用 LuaJIT。
关于lua - MetaLua 可以和 LuaJIT 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20911993/
在 official guide 之后的一段时间里,我一直在尝试在 Windows 10 上安装 LuaJIT。 ,我实际上开始安装它。例如,如果我执行 luajit我进入提示。另外,luajit -
require "utils.lua" stdin:1: module 'utils.lua' not found: no field package.preload['utils.l
我正在尝试使用 setfenv 对一些函数进行沙盒处理,我收到以下输出: 123 nil 为什么调用sandboxTest()时testValue是nil,而在callSandboxedTest()中
只是来自“Lua 新手”的一个小问题......我一直在使用 LuaJIT,它很棒,没有问题是因为 LuaJIT 是 Lua 5.1 兼容的,这是否意味着我可以使用标准 Lua 在 LuaJIT 中使
教程部分中的示例:“为 C 类型定义元方法” 如下所示: local ffi = require("ffi") ffi.cdef[[ typedef struct { double x, y; } p
我想用 C 编写一些函数以在 Lua 中使用,我认为我能找到的最简单的方法是使用 LuaJIT 的 FFI。 我有一个 C 文件“add.c”: int add(int a, int b){ retu
我正在寻找有关如何为 LuaJIT 2 优化 Lua 代码的好指南.它应该关注 LJ2 的细节,比如如何检测哪些跟踪正在被编译,哪些不是,等等。 任何指针?收集到 Lua ML 帖子的链接可以作为答案
我正在尝试优化我的 LuaJIT 代码,我想知道是否有一个调试工具,或者我是否可以编写一个,来检查我的脚本访问全局变量/表/函数的次数? 最佳答案 您可以使用代理表来存储全局变量,并将对全局表的任何访
我有以下 qsort 示例来尝试 luajit 中的回调。但是它有内存泄漏(luajit:执行时内存不足),这对我来说并不明显。 有人可以给我一些关于如何创建正确的回调示例的提示吗? local ff
我在使用 ffi.metatype 定义的用户数据时遇到问题。当对象被垃圾收集时,我会遇到段错误。这是代码。 ffi = require("ffi") srate = 48000 ffi.cdef[[
关于 的 Luajit 手册-b 选项 说: The output file type is auto-detected from the extension of the output file n
我有一个小的 C 程序,它有一个字符串,它必须代表一个 Lua 模块,它看起来像这样: const char *lua_str = " local mymodule = {} \ functi
已关注 MSDN's GetOpenFileName example使用 LuaJIT 的 FFI。这两天我一直在努力让它工作,不仅对话框打不开,而且整个东西都崩溃了。 当使用 OllyDdb 进行调
我有这样的文件设置: main.lua (requires 'mydir.b' and then 'b') b.lua mydir/ b.so (LuaJIT C module) 从主要,
我认为 LuaJIT 很棒,现在我也看到了 eLua。 我很好奇嵌入式程序员什么时候会为嵌入式系统选择一个而不是另一个? 最佳答案 这取决于您所说的“嵌入式系统”是什么意思。您是指“移动应用程序”还是
lua -e "print(package.path)" ./?.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/usr/lib
编辑:不幸的是,LuaJIT 被排除在下面链接的比较之外。 这个comparison编程语言的多样性表明 LuaJIT 比普通 Lua 实现有十倍以上的改进。为什么变化这么大? Lua 是否有什么特殊
我目前正在尝试使用以下命令在我的 Arch linux 发行版上使用 luajit 支持编译 suricata ( http://suricata-ids.org/ ): ./configure --
LuaJIT 知道它定义的 C 类型以及数组的长度,但它不检查边界: ffi = require("ffi") ten_ints = ffi.typeof("int [10]") p1 = ten_i
我在 LuaJit 中不断收到内存不足错误。如何增加堆栈或堆大小? 谢谢 最佳答案 除了玩具示例,我自己没有使用过 LuaJIT。但是由于还没有其他人提供任何答案... 从浏览 documentati
我是一名优秀的程序员,十分优秀!