Lua 是一种解释性程序设计语言,也称为脚本语言,在应用程序中实现一些即时编程。可以使用户自己添加一些简单的代码,增加了灵活性。在嵌入式系统中具有广泛的应用。它用于Adobe的Photoshop Lightroom和《魔兽世界》和《愤怒的小鸟》等游戏。实际上,Lua是当前领先的游戏脚本语言。

使用Lua,可以如下两个软件:

lua -Lua 执行程序 ,可以直接执行Lua 代码文件

Luajit  -Lua 即时解释器,可以直接执行Lua 代码文件

      LuaJIT是采用C语言写的Lua的解释器。LuaJIT被设计成全兼容标准Lua 5.1, 因此LuaJIT代码的语法和标准Lua的语法没多大区别。LuaJIT和Lua的一个区别是,LuaJIT的运行速度比标准Lua快数十倍,可以说是一个lua的高效率版本。网上有人测试说,uajit 大约是 Lua 的 8 倍左右。在某种程度上可以达到和 C 程序差不多的速度。

安装LuaJIT

下载,安装

git clone http://luajit.org/git/luajit-2.0.git 

cd luajit-2.0

make

sudo make install

设置环境变量

export LUAJIT_LIB=/usr/local/lib

 

简单测试

luajit

>print(“hello The world”)

hello The world

>

直接运行lua 代码文件

使用编辑器输入hello.lua

-- hello world lua program

print ("Hello World!")

 

运行

luajit hello.lua

安装lua 程序

lua 命令程序可以运行lua程序文件.你可以在ubuntu下测试lua 代码.

sudo apt install lua5.1 

运行lua 代码文件

lua hello.lua

 

在C++语言中调用Lua 代码

程序

#include <stdio.h>
#include <luajit-2.0/lua.hpp>
//#include <luajit-2.0/lauxlib.h>
//#include <luajit-2.0/lualib.h>

int main (int argc, char **argv) {
  if (argc > 1) {
    lua_State *L = luaL_newstate();
   luaL_openlibs(L); 

    luaL_dostring(L, argv[1]);
    lua_close(L);
  }
  else {
    fprintf(stderr, "Usage: %s [lua-code]\n", argv[0]);
  }
}

编译

g++ test.cpp -l luajit-5.1 -o test

./test ‘print(“hello the world”)’

如果运行时遇到找不到动态库的现象,需要输入如下命令。动态库通常放在 usr/local/lib 中。

sudo ldconfig

结束语

我为什么关心Lua?因为IEC61499 开发项目4DIAC 中使用Lua 作为动态功能块的算法语言。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐