Lua是一门很小巧的语言,为保证良好的可移植性,Lua使用ANSI C编写。因此Lua的移植灰常简单,只需要使用正确的交叉编译器就好了。
本文介绍如何将Lua移植到ARM平台,分x个步骤,并使用如下环境:
1. 操作系统:Ubunt10.04
2. 交叉编译器:arm-linux-gcc 4.3.2版本(如果你不知道怎么搭建交叉编译环境,可以参考我的另一篇文章:http://hi.baidu.com/hqwfreefly/blog/item/8364fed7b3f58dc950da4b5f.html )
3.Lua5.1版本源码
移植步骤:
1下载Lua源代码:http://www.lua.org/versions.html#5.1/
2 解压并进入目录,如图:
3修改并保存Makefile文件(共两处):第一处:第8行PLAT= none修改为PLAT= ansi
第二处:第10行CC= gcc 修改为CC= arm-linux-gcc
4执行make命令,如图:
生成很多.o库文件,一个lua可执行文件(解释器)和一个luac可执行文件(编译器,产生中间代码)。
5如果不打算在你的ARM开发板上使用那些库而只是想运行Lua脚本,则只需要将lua文件复制到开发板即可。写个简单的脚本试试吧:
--[测试脚本: test.lua--]
Animal =
{
name = "Tom",
eat = function(self, food)
food = food or "unknown food"
print("My name is " .. self.name .. "\nI eat " .. food)
end,
}
Animal:eat("fish")
执行:./lua test.lua