前段時(shí)間公司項(xiàng)目中需要用到圖片識(shí)別算法悲柱,需要在iOS中調(diào)用Lua方法。
but些己,從來沒有接觸過lua腫么辦豌鸡,只知道Lua 是一種輕量小巧的腳本語言啊跑芳,于是乎,到處查資料啊苦直颅。博个。
什么是Lua
Lua 是一種輕量小巧的腳本語言,用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放功偿, 其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中盆佣,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。巴西里約大神們寫的~
下載Lua所需要的資源
進(jìn)入Lua官網(wǎng)點(diǎn)擊download械荷,解壓出src文件夾導(dǎo)入項(xiàng)目中共耍。
OC中調(diào)用Lua
github上邊有許多資源,我選擇了Lua-Objective-C-Bridge吨瞎,雖然不是星星最多的痹兜,但是是我第一個(gè)找到的,緣分啊颤诀。
解壓字旭,將Source/LuaBridge文件夾導(dǎo)入項(xiàng)目中。
開始demo
將這兩個(gè)文件夾導(dǎo)入項(xiàng)目中就可以開始我們的調(diào)用了崖叫。
等一下遗淳,還需要一個(gè)lua文件來寫我們的測(cè)試方法。直接新建一個(gè)txt記事本心傀,將后綴名改為.lua即可屈暗,so easy!
這個(gè)時(shí)候就需要在demo.lua中來寫我們的測(cè)試方法了,簡單實(shí)現(xiàn)一個(gè)加法運(yùn)算脂男。
繼續(xù)就是在OC中調(diào)用這個(gè)方法了养叛。
導(dǎo)入頭文件
#import "lauxlib.h"
#import "lua.h"
#import "lualib.h"
#import "LuaBridge.h"
創(chuàng)建lua_State對(duì)象L
通過luaL_dofile調(diào)用demo.lua文件
將方法名和參數(shù)入棧
通過調(diào)用lua_pcall方法調(diào)用lua中的addFun
返回值通過lua_tostring得到
Demo
github地址??