Lua之实现跨平台移动开发

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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值