1. 背景
不知LuaJit
的应该很多,但知道cocos2d
应该很多。我初听LuaJit
还是有从一前辈口中得知,当时只听了大概原理。简单来说就是用C
来封装核心库,用Lua
脚本来写业务,这个在做游戏方面很适用,同时我觉得也很适用需求更新较快的业务。
听得就很让人动心,对于现在的一些业务,核心功能也是封装起来的,但没有完全独立出来,有时需要改一个指标你就需要去改那部分代码再编译,不同的项目可能需要不同的指标,这样到最后核心库就会产生各种各样的版本,从而不利于维护。Lua
脚本只提供驱动将你各个功能模块组织起来,不过同时它也会要求你的库能高度封装起来。
2 试用FFI
FFI
我就不再赘述了,请看官网,如果没有看懂没关系,我们直接看代码
2.1 代码
// so_test_a.c 代码
#include <stdio.h>
void print_test_a()
{
printf(