LuaJit是另一个Lua语言的解析器。
LuaJIT 是采用 C 和汇编语言编写的 Lua 解释器与即时编译器。LuaJIT 被设计成全兼容标准的 Lua 5.1 语言,同时可选地支持 Lua 5.2 和 Lua 5.3 中的一些不破坏向后兼容性的有用特性。因此,标准 Lua 语言的代码可以不加修改地运行在 LuaJIT 之上。LuaJIT 和标准 Lua 解释器的一大区别是,LuaJIT 的执行速度,即使是其汇编编写的 Lua 解释器,也要比标准 Lua 5.1 解释器快很多,可以说是一个高效的 Lua 实现。另一个区别是,LuaJIT 支持比标准 Lua 5.1 语言更多的基本原语和特性,因此功能上也要更加强大。
1 编译LuaJit,生成的luajit在src文件下。
没有使用make install,因为没有管理员权限。
2 export PATH=$PATH:.:/data/project/lua-5.3.2/src:/data/project/LuaJIT-2.1.0-beta2/src
3 写一个脚本
test.lua
local ffi = require("ffi")
ffi.cdef[[
typedef struct{
int len;
char value[128];
}MY_PARA;
]]--声明一个结构体
local n = 10
local para = ffi.new("MY_PARA[?]", n)--新建变长的结构体变量
for i=0, n-1 do
para[i].len = i;
para[i].value ="zhao";
end
for i=0, n-1 do
print(para[i].len);