文档首页 > > 移植指南> 移植LuaJIT

移植LuaJIT

分享
更新时间:2020/07/23 GMT+08:00

介绍

简要介绍

Lua JIT是Lua语言的即时(JIT:Just-In-Time)编译器,它提供基于快速解释器和跟踪编译器的虚拟机,可显著提高Lua程序的性能。

语言:C/C++

一句话描述:Lua语言即时编译器

开源协议:MIT license

建议的版本

建议使用版本为“v2.1.0-beta3”

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.xlarge.2 | 4vCPUs | 8GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0

在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“v2.1.0-beta3”源码包。

cd /usr/local/src

wget https://github.com/LuaJIT/LuaJIT/archive/v2.1.0-beta3.tar.gz

经过测试,当前v2.1.0版本是支持aarch64架构的CPU的服务器/虚拟机执行,其他的版本不支持

编译和安装

  1. 解压软件包。

    cd /usr/local/src

    tar -zxvf v2.1.0-beta3.tar.gz

  2. 进入LuaJIT的安装目录。

    cd LuaJIT-2.1.0-beta3/

  3. 编译安装LuaJIT。

    make -j4 && make install

运行和验证

  1. 将生成的LuaJIT可执行文件修改名称,因为生成的LuaJIT可执行程序名称为luajit-2.1.0-beta3,不便于使用。

    mv /usr/local/bin/luajit-2.1.0-beta3 /usr/local/bin/luajit

  2. 创建“test.lua”文件,并输入如下代码。

    vi test.lua

    插入如下代码:

    function max(num1, num2)
       if (num1 > num2) then
    result = num1;
       else
    result = num2;
       end
       return result;
    end
    print("1,2 max is",max(1,2))

    保存退出。

  3. 测试LuaJIT,生成字节码并执行字节码。

    1. 生成字节码文件test。

      luajit -b test.lua test

    2. 执行字节码文件。

      luajit test

      回显如下:
      [root@ecs-lua src]# luajit test
      1,2 max is2
      [root@ecs-lua src]# 

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问