c语言的sqlite3接口的设计
来源:互联网 发布:天下3萝莉捏脸数据 编辑:程序博客网 时间:2024/05/21 11:05
sqlite3相当强大的一个sql数据库,源代码3w多行,最近看了看里面的源码,感觉里面有很多用得上的地方
1.sqlite3_file接口的设计,看着是不是跟frontc一样(第一版的c转c++翻译器)
typedef struct sqlite3_io_methods sqlite3_io_methods;
struct sqlite3_io_methods {
int iVersion;
int (*xClose)(sqlite3_file*);
int (*xRead)(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst);
int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst);
int (*xTruncate)(sqlite3_file*, sqlite3_int64 size);
int (*xSync)(sqlite3_file*, int flags);
int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize);
int (*xLock)(sqlite3_file*, int);
int (*xUnlock)(sqlite3_file*, int);
int (*xCheckReservedLock)(sqlite3_file*, int *pResOut);
int (*xFileControl)(sqlite3_file*, int op, void *pArg);
int (*xSectorSize)(sqlite3_file*);
int (*xDeviceCharacteristics)(sqlite3_file*);
/* Methods above are valid for version 1 */
int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**);
int (*xShmLock)(sqlite3_file*, int offset, int n, int flags);
void (*xShmBarrier)(sqlite3_file*);
int (*xShmUnmap)(sqlite3_file*, int deleteFlag);
/* Methods above are valid for version 2 */
int (*xFetch)(sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp);
int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p);
/* Methods above are valid for version 3 */
/* Additional methods may be added in future releases */
};
调用方法,如下,将调用结构体自己传入
rc = lockProxy->pMethod->xClose((sqlite3_file*)lockProxy);
rc = conchFile->pMethod->xClose((sqlite3_file*)conchFile);
- c语言的sqlite3接口的设计
- sqlite3常用的c语言函数接口
- sqlite3的C接口
- SQLITE3的C接口
- sqlite3的c/c++接口
- C语言的设计模式-接口隔离
- 数据库:SQlite3的C接口相关函数
- 基于sqlite3的通讯录(c语言)
- 简单的用C语言调用Sqlite3
- SQLITE3 C语言接口 API 函数简介
- sqlite3的基础语言
- sqlite3的C语言API操作数据库的实例分析
- SQLite3的C编程
- MYSQL的C 语言接口
- MYSQL的C 语言接口
- C语言实现sqlite3数据库查询的基本方法
- 使用C 语言 sqlite3 的创建,查找,添加
- C语言中 sqlite3 的 一些调用方式
- Ubuntu下解压tar软件包的方法
- 使用MT快速搭建移动端webapp
- Build path entry is missing:org.eclipse.jdt.launching.JRE_CONTAINER/
- 解决JAVA Applet被本地安全设置阻止问题
- ActivMQ中文文档
- c语言的sqlite3接口的设计
- jeecms3.0.4版本 详解请求如何找到首页
- 这里以win7系统用vs2008编译5.3.18为例
- Android中部署自己的su
- 陌陌的新广告能否为约炮神器正名?
- 控制台窗口位置 设置
- HMAC-SHA1 java版
- SystemProperty小结(Android4.2)
- Android fragment入门一