- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLite3源程序分析_v100
SQLite3源程序分析_v100
SQLite3源程序分析
作者:空转
本文分析的SQLite版本为3.6.18。现在已经变成3.6.20了,但本文中所涉及的内容变化不大。读者最好能下载一个源程序,然后将本文与源程序对照阅读。这样也有利于发现本文的错误,说实话吧,我写的时候是连分析带猜的,错误肯定很多。
参考文献:
1-The Definitive Guide to SQLite . Michael Owens:比较经典的SQLite著作。我边看边翻译了其中的部分内容,但翻得不好,大家还是看原文吧。
2-SQLite文件格式分析_v102 . 空转:我写的,写得特好。现在是v102版,跟前面的版本相比增加了不少背景知识,对文件格式的介绍算是很全面了。看本文之前,应该先浏览一下此参考文献。
1. SQLite3程序分析
1.1. 主程序流程
所谓“主程序”是指SQLite所提供的命令行处理程序(CLP)。通过对它的分析可以对SQLite源程序建立整体概念,比一上来就直接分析单独API的处理过程要容易。CLP的主要程序都在shell.c中。
CLP的执行流程很简单:循环接受用户输入的SQL命令,处理SQL命令。命令的执行都是调用sqlite3_exec()函数完成,也就是采用的是“执行封装的Query”的形式[1]。 程序定义了一个功能比较强大的回叫函数来处理SQL命令执行的返回结果: static int callback(void *pArg, int nArg, char **azArg, char **azCol);
程序定义了9种回显的形式,通过一个callback_data结构来对回显参数进行配置。
1.1.1. 程序主函数
程序的main()函数在shell.c的尾部,简化后的main()函数的执行过程主要分为5步:
1. 设置回显参数
2. 取数据库文件名
3. 打开数据库
4. 循环处理SQL命令
您可能关注的文档
- otrs centos centos6.5---otrs部署文档.doc
- ottv.co 410 AC410——CO主数据.doc
- pantone C卡.doc
- PASSWORD攻略_图文.doc
- PC-DMIS培训手册总编_图文.doc
- pcrm 终稿 个人优质客户关系管理系统(PCRM)、金钥匙理财专家..._图文.doc
- pcb覆铜板 PCB及覆铜板项目可行性研究报告.doc
- pep五年级上册人教版 2013人教版PEP小学英语五年级上册第五单元教学设计.doc
- pep五年级上册单词表 PEP五年级下册四会单词及重点句型.doc
- pep六上教案及反思 PEP小学英语四年级下册教案全册+反思.doc
- 今天固定效应估计随机工具变量背后逻辑lec7 pps.pdf
- 全部机器人拧紧凸轮轴盖更正原始f35163b期nr ve外包op0480a.pdf
- 团圆绘本清晰.pptx
- 《100分闯关》四年级数学下册(人教版)习题课件第九单元鸡兔同笼(1).ppt
- Unit8ItmustbelongtoCarlaSectionA1a1c课件人教版英语九年级全册.pptx
- 高中英语开学第一课课件.pptx
- Module10Unit1课件九年级英语上册.pptx
- Unit6NumbersLesson1(课件)新蕾快乐英语一年级上册2.pptx
- 2025年高考二轮专题复习课件地理32交通运输的布局及其变化.pptx
- 电子技能与实训用户手册.pdf
文档评论(0)