学习网络安全技术与应用杂志中一篇文章《基于arm-linux 的sqlite 嵌入式数据库技术》后的笔记。
1.嵌入式系统数据库选型原则:
a。适当的体积。
b。较强的功能。需要满足多种应用。
c。开源的代码。降低开发成本,完善产品维护,为产品稳定运行被以彻底解决手段。
2.sqlite
支持大多数sql92:多表,索引,视图,事务,触发,驱动,用户接口。
有效高速可升级。
体系结构:SQLite的分析生成器是高度优化的,可以快速产生高效率代码,抵抗内存泄漏。基于kunth,底部为优化过度b树。可运行在页面缓冲之上,该页面缓存是能调整的,利用最大化降低磁盘查找。再往下为高速缓存,用于os抽象层上方。
开发技术:TCL接口。
应用c语言三个步骤实现api。第一提供访问模式/文件名来对sqlite_open(链接数据库进行调用。第二,执行callback,获取来自数据库结果。第三步,调用sqlite_exec()可执行某个sql查询,且获得一个callback指针。
硬件平台移植:获取源代码,根据差异化平台进行交叉编译,完成移植。
编译步骤:
1.解压源码,生成sqlite目录。
2.echo $path查看path中是否已经包含编译工具:armlinuxgcc
3.修改sqlite/src/sqliteInt.h保证btree变量大小。
4.选择configure完成配置。
5.修改makefile。BCC=armlinuxgccg02修改为gccg02 另外,libsqlite.la修改为.libs/libsqlite.a(静态编译)
6.编译。