移植Lua到ARM平臺
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