• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua之实现跨平台移动开发

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Lua为什么可以在移动开发实现跨平台?


答:

Lua底层是通过C编写实现的,

Android通过JNI技术调用C,

iOS也是完全兼容C语言。



先来看看一个Andorid和iOS项目,初步理解一下Lua在项目的配置。

下面是android项目使用Lua的工程配置,其中luajava.jar是Java代码封装包,libluajava-1.1.so在底层封装了.C 文件,实现了lua相关底层功能。




ios使用Lua配置如下:





iOS允许开发者使用C语言文件和objective-c文件混合编程。但是,如果你在Objective-C的代码中调用C文件中的函数,你不能直接将.c文件import到你的OC文件中,这样是不起作用的。你需要先创建一个.h 头文件 里面包含你的函数申明,同时将这个.h 头文件import到.c文件中,.c文件负责实现要调用的函数。最后将你新创建的.h头文件import到OC文件中,这样你就可以在OC的文件中调用C的方法了。下面是我随便写的一个例子,在OC的.m文件中调用.c中的打印函数。c语言的.h文件

[objc] view plain copy
  1. //  
  2. //  TestPrint.h  
  3. //  TestDemo  
  4.   
  5. #ifndef TestDemo_TestPrint_h  
  6. #define TestDemo_TestPrint_h  
  7.   
  8. void printlog();  
  9.   
  10. #endif  
C语言中.c文件
[objc] view plain copy
  1. //  
  2. //  TestPrint.c  
  3. //  TestDemo  

  4. #include <stdio.h>  
  5. #include "TestPrint.h"  
  6.   
  7. void printlog(){  
  8.     printf("hello world !!!");  
  9. }  
OC的.m文件
[objc] view plain copy
  1. //  
  2. //  AClass.m  
  3. //  TestDemo  
  4.   
  5. #import "AClass.h"  
  6. #import "TestPrint.h"  
  7.   
  8. @implementation AClass  
  9. - (void)printfhello{  
  10.     printlog();  
  11. }  
  12. @end  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于Lua语言的触动精灵脚本开发发布时间:2022-07-22
下一篇:
openresty lua 模块发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap