• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

luajit——luajit源码安装——编译运行lua

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、源码安装luajit

下载luajit源码  http://luajit.org/download.html

git clone https://luajit.org/git/luajit.git

a. 以 LuaJIT-2.1.0-beta3.tar.gz 为例, 下载解压后进入 LuaJIT-2.1.0-beta3目录

make

make install

这样会把luajit安装到系统目录, /usr/local下

b. 若需指定安装目录,需在执行 make install 之前,修改Makefile文件

Makefile中的安装路径
#export PREFIX= /usr/local
DIR=$(shell pwd)
export PREFIX=$(DIR)/build
export MULTILIB= lib

便可安装到与Makefile文件同目录的build文件夹下。

 

2、编译运行lua

编译lua    luajit -b test.lua test.luac

执行luac   luajit test.luac

报错处理:

luajit -b 编译报错: ./luajit: unknown luaJIT command or jit.* modules not installed

解决办法:

无论编译好的 luajit 命令在什么目录,

当前执行 "luajit -b 源文件 编译文件" 的目录下,必须存在jit文件夹,jit文件夹在luajit源码的src文件夹。

 

 

错误重现

bogon:bin chong$ ls -ls
total 1104
   8 lrwxr-xr-x  1 chong  staff      18 13 Gen 11:32 luajit -> luajit-2.1.0-beta3
1096 -rwxr-xr-x  1 chong  staff  559796 13 Gen 11:30 luajit-2.1.0-beta3
bogon:bin chong$ 
bogon:bin chong$ ./luajit -b ../../../test.lua ../../../test.luac
./luajit: unknown luaJIT command or jit.* modules not installed
bogon:bin chong$ 

进入到包含jit文件夹的目录,可以正确编译

bogon:build chong$ ls -ls
total 0
0 drwxr-xr-x   4 chong  staff  136 13 Gen 12:18 bin
0 drwxr-xr-x   3 chong  staff  102 13 Gen 11:30 include
0 drwxr-xr-x  19 chong  staff  646 13 Gen 11:57 jit
0 drwxr-xr-x   8 chong  staff  272 13 Gen 11:30 lib
0 drwxr-xr-x   5 chong  staff  170 13 Gen 11:30 share
bogon:build chong$ 
bogon:build chong$ bin/luajit -b ../../test.lua  ../../test.luac
bogon:build chong$ 
bogon:build chong$ 

 

 

3、直接执行lua的示例

test.lua代码

print("hi ... ")

直接执行

bogon:c chong$ LuaJIT/build/bin/luajit test.lua 
hi ... 
bogon:c chong$  

 

4、lua 读写文件

function Reader:saveJson()
    for tableName, v in pairs(configs) do
        self:getDataTable(tableName)
        local content = json.encode(self._Tables[tableName])
        local outpath = "/Users/json_out/"
        --local content = "i am temp..."
        local file = io.open(outpath..tableName..".json", "w");
        file:write(content);
        file:close();
    end
    print("ok")
end

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++与Lua互操作学习发布时间:2022-07-22
下一篇:
lua源码学习篇一:环境部署发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap