LUA脚本调用C接口库的3中方法

lua 调用C接口的3中常用方法

  1. lua + alien 方式
    适用于所有lua官方版本,但是lua官方安装包或源码中,并未附带alien模块。
    alien模块官方版本貌似只支持lua5.1。 对于5.2~5.4版本的lua,需下载alien模块的源码(或许还需要稍微改动一些内容),自己编译相应的alien_c.so文件。

    优点:可以适配所有lua版本,可以使用新版lua的新特性。
    缺点:alien模块缺乏维护,对lua新版本的支持,需自己进行调试编译。

  2. luajit + ffi 方式
    luajit的特点是运行时速度比原生lua快,且与lua5.1语法基本一致。
    luajit的ffi模块,是luajit自带的功能。

    优点:luajit自带ffi模块,无需安装第三方模块。
    缺点:luajit从语法的角度看,目前只与lua5,1兼容。lua5.2以上版本的特性(如位操作),无法支持。

  3. lua + C扩展lua模块方式
    自己写lua的C扩展模块,然后在lua脚本中调用自己写的扩展模块。

    优点:可以在扩展模块中调用任意复杂的C接口(因为是由C间接调用)。
    缺点:需要维护2套源码(即:扩展模块的C源码,调用扩展模块的lua脚本);同时扩展模块的编写,在不同版本的lua中还有少许差别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

化妖成魔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值