iOS objective-c中调用Lua方法

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

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

什么是Lua

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

下载Lua所需要的资源

lua官网

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

OC中调用Lua

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

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

开始demo


项目目录

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

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

这个时候就需要在demo.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得到

demo

Demo

github地址  

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,497评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,861评论 25 708
  • 金钱终究让和人之间生分了,亲情,爱情,友情,无一幸免。与金钱有了瓜葛,说大,说小,大抵都成了关系深浅的通病。 前几...
    麦兜家de懒猪阅读 197评论 0 0
  • 我建立了一个关于各个行业的销售交流群,大一起讨论销售经验,你要有兴趣参加吗?群里有很多销售资料都是讨论留下,很不错...
    25579笨小孩阅读 343评论 0 0