Chinaunix首页 | 论坛 | 博客
  • 博客访问: 227822
  • 博文数量: 27
  • 博客积分: 719
  • 博客等级: 上士
  • 技术积分: 386
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 21:04
文章分类

全部博文(27)

文章存档

2012年(27)

分类: SQLite/嵌入式数据库

2012-03-21 10:41:40

虚拟flash是在os上用文件模拟的。

sqlite需要os的支持,比如获取文件大小之类的,都需要os的操作。在移植过程中,对文件大小的操作是通过两个64位整数来记录的(分别记录数据文件大小pDb和日志文件大小pJour)。

首先将os上1G大小的virtualFlash文件全部初始化为0xff,然后写DB文件的时候就会将virtualFlash改写。此时,就需要变动pDb,以此类推。

在sqlite初始化时,则需要扫描整个virtualFlash。当遇到0xff时,说明扫描到DB文件末尾,则此时的pDb就是DB文件大小。

若是DB文件中有0xff,则需要测试一下,测试接下来的1025个字符是不是全都是0xff。如果不全是,说明DB文件末尾不是到此结束的,接着进行测试。

阅读(2211) | 评论(0) | 转发(0) |
0

上一篇:好好写点东西

下一篇:sqlite操作底层分析

给主人留下些什么吧!~~