初窥LuaJit中 --- 试用FFI

本文介绍了如何使用LuaJit的Foreign Function Interface(FFI)来封装C库。通过简单的代码示例,展示了FFI的使用过程,包括编译运行和预期的运行结果。尽管LuaJit FFI的学习资源有限,但其潜力在于能够用脚本快速实现业务逻辑,提升开发效率,尤其是在游戏开发和需求频繁变动的业务场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 背景

不知LuaJit的应该很多,但知道cocos2d应该很多。我初听LuaJit 还是有从一前辈口中得知,当时只听了大概原理。简单来说就是用C来封装核心库,用Lua 脚本来写业务,这个在做游戏方面很适用,同时我觉得也很适用需求更新较快的业务。
听得就很让人动心,对于现在的一些业务,核心功能也是封装起来的,但没有完全独立出来,有时需要改一个指标你就需要去改那部分代码再编译,不同的项目可能需要不同的指标,这样到最后核心库就会产生各种各样的版本,从而不利于维护。Lua 脚本只提供驱动将你各个功能模块组织起来,不过同时它也会要求你的库能高度封装起来。

2 试用FFI

FFI 我就不再赘述了,请看官网,如果没有看懂没关系,我们直接看代码

2.1 代码

// so_test_a.c 代码
#include <stdio.h>
void print_test_a()
{
    printf("hello lua from c\n'");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值