Lua编译器 LuaJIT

码农软件 · 软件分类 · 编译器 · 2019-12-09 14:43:39
  • 授权协议: MIT/X
  • 开发语言: Lua
  • 操作系统: Linux
  • 软件首页: http://luajit.org/

软件介绍

LuaJIT:采用C语言写的Lua的解释器的代码

LuaJIT is a Just-In-Time Compiler for the Lua* programming language.

LuaJIT试图保留Lua的精髓--轻量级,高效和可扩展.
功能
所有的函数缺省会被JIT(即时编译器)编译到本地机器码:
* 没有被使用的函数不会被编译.
* 可以选择性打开和关闭即时编译函数,子函数甚至整个模块.
* 需要解析的函数(译注:即没有被编译的函数)和编译过的函数可以自由的混合使用.
预编译(Ahead-of-time AOT)也是被支持的:
* 一些API函数和命令行选项允许用户全盘控制编译过程
这个即时编译器是可扩展的:
* 优化器是一个外部模块可以附着在编译器流水线上.
* 一些模块提供了关于编译过程的跟踪和调试信息.
* 所以这些功能可以通过命令行参数来激活.

LuaJIT被设计成全兼容Lua 5.1.她接受同样的源代码和/或预编译字节码.她支持所有标准语言语义.特别是:
* 支持所有标准类型,操作符和元方法.
* 隐式类型强制转换(number/string).
* 完全 IEEE-754 语义浮点算法(NaN, +-Inf, +-0, ...).
* 完全支持词法闭包.正确的尾调用不会消耗栈帧(译注:栈空间).
* 异常是精确的.回溯追踪工作的很好.
* 通过CoCo提供协程支持.(译注:一点兼容性问题 )
* 没有改变Lua 5.1的增量垃圾收集器.
* 没有改变标准Lua/C API.
* 动态加载的C模块保持和Lua 5.1一样链接兼容性(同样的ABI 抽象二进制接口).(译注:基本不用重新编译老的Lua模块,但是仍然偶遇兼容性问题).
* LuaJIT可以像Lua那样嵌入到一个应用程序里.
一些次要的不同点和调试有关:
* 调试钩子只在调试代码生成使能时调用
* 在JIT编译过的代码中不支持尾调用计数.HOOKTAILRET 也不会被调用.注意: 除非你写Lua调试器,否则这些对你没有影响.

本文地址:https://codercto.com/soft/d/20775.html

创新

创新

理查德·福斯特 / 王宇锋 / 中信出版社 / 2008-10 / 32.00元

《创新:进攻者的优势》内容简介:为什么一流企业突然间将它们的市场拱手让与新的竞争者?要避免这样的命运,需要无情地抛弃那些过去使它们成功的技能和产品,那么究竟哪些企业能够做到这一点呢?企业如果总是墨守成规、因循守旧,那么长期下去,必然无法以市场的速度及规模进行革新或创造价值。这样的企业会像得州仪器、施乐等市场领先者一样,被一些资源较少、技术较差、市场支配力较弱的竞争对手超越,而这些所谓进攻者的优势,......一起来看看 《创新》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具