iOS objective-c中调用Lua方法

前段时间公司项目中需要用到图片识别算法,需要在iOS中调用Lua方法。

but,从来没有接触过lua肿么办,只知道Lua 是一种轻量小巧的脚本语言啊,于是乎,到处查资料啊苦。。

什么是Lua

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。巴西里约大神们写的~

下载Lua所需要的资源

《iOS objective-c中调用Lua方法》 lua官网

进入Lua官网点击download,解压出src文件夹导入项目中。

OC中调用Lua

github上边有许多资源,我选择了Lua-Objective-C-Bridge,虽然不是星星最多的,但是是我第一个找到的,缘分啊。

解压,将Source/LuaBridge文件夹导入项目中。

开始demo

《iOS objective-c中调用Lua方法》 项目目录

将这两个文件夹导入项目中就可以开始我们的调用了。

等一下,还需要一个lua文件来写我们的测试方法。直接新建一个txt记事本,将后缀名改为.lua即可,so easy!

这个时候就需要在demo.lua中来写我们的测试方法了,简单实现一个加法运算。

《iOS objective-c中调用Lua方法》 加法运算

继续就是在OC中调用这个方法了。

导入头文件

#import “lauxlib.h”

#import “lua.h”

#import “lualib.h”

#import “LuaBridge.h”

创建lua_State对象L

通过luaL_dofile调用demo.lua文件

将方法名和参数入栈

通过调用lua_pcall方法调用lua中的addFun

返回值通过lua_tostring得到

《iOS objective-c中调用Lua方法》 demo

Demo

github地址  

    原文作者:快到碗里来____
    原文地址: https://www.jianshu.com/p/c16bc0f9a048
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞