ulua怎么集成使用sqlite?

曾经有一段时间,根据群友需求,ulua自带了c原生版sqlite,但是由于其体积巨大(sqlite.c就有5m),编译出来的so、.a也很庞大,加上大家不少人用不上,因此在后续版本为了体积,sqlite默认被去掉了。但是还是不是有人提出需要,今天说下ulua怎么获取sqlite的功能支持。

sqlite有两种模式:
(1)数据文件模式,数据以单个物理文件形式存在磁盘上。
(2)内存数据模式,类似于nosql,存在与内存,做高速内存交换。

前者用于持久化数据落地,后者可以做高速交互载体,比如多luastate、多luascriptmgr模式下,互相沟通就很麻烦,如果通过c#,加上p/invoke的低效,再怎么优化也提不起来速度,因此这时候sqlite内存模式就有了用武之地,多luastate可以通过在c语言中访问共同的sqlite内存容器来进行交互,可以达到绕过c#,提升效率的功效。

那ulua到底该如何集成这部分功能呢?
Windows&安卓
先打开ulua底层库老版的百度网盘地址:http://pan.baidu.com/s/1gd1Wyx9
下载里面的WinBuild.zip,参考里面的build_win32.bat编译脚本,将
   sqlite/src/sqlite3.c \
   sqlite/lsqlite3.c \

   -Isqlite/src \
分别放入你最新的编译脚本里面,sqlite的源码也复制过去,安卓的编译脚本在下面的路径:
WinBuild.zip\Source\android\jni\Android.mk,照样复制过去,再进行编译就可以得到了ulua.dll跟libulua.so了。

Mac&iOS
其实这部分比上面要简单,分别打开ulua的osx下跟iOS下的xcode文件,将sqlite.h sqlite.c lsqlite3.c 拖进ulua目录分组下面,里面已经有众多第三方库(pb.c等),重新编译得到ulua.bundle跟libulua.a就是集成了sqlite的底层库文件。


或者去ulua_cstolua技术讨论群 群共享下载集成好的ulua_with_sqlite(统一编码的哦)

[本日志由 admin 于 2015-10-21 08:24 PM 更新]
上一篇: ulua怎么与ZeroBrane Studio联合调试?真机调试?
下一篇: ulua群里面讨论的另一种方案笔记(1)
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭