设为首页 收藏本站
查看: 1791|回复: 0

[经验分享] SQLITE源码剖析(5)

[复制链接]

尚未签到

发表于 2016-11-29 07:05:50 | 显示全部楼层 |阅读模式
  声明:本SQLite源码剖析系列为刘兴(http://deepfuture.iyunv.com/)原创,未经笔者授权,任何人和机构不能转载
  
/************** Include sqlite3.h in the middle of sqliteInt.h ***************/
/************** Begin file sqlite3.h *****************************************/
//在sqliteInt.h中包含sqlite3.h
/*
** 2001 September 15
**
** The author disclaims copyright to this source code.  In place of
** a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************sqlite库的客户端接口,如果在这个文件中没有出现过某个C函数、
**结构、数据类型、或常量定义,那么它是不公开的SQLITE的API,
**不会声明随时有可能改变,也不能做为使用SQLITE开发的参考。
** This header file defines the interface that the SQLite library
** presents to client programs.  If a C-function, structure, datatype,
** or constant definition does not appear in this file, then it is
** not a published API of SQLite, is subject to change without
** notice, and should not be referenced by programs that use SQLite.
**有些定义被标明experimental(实验性的),这些接口不久会被加入SQLITE。
**虽然不希望改变实验性接口,会保留较小改变的权力,使用in the wild
**标明的地方要谨慎改变
** Some of the definitions that are in this file are marked as
** "experimental".  Experimental interfaces are normally new
** features recently added to SQLite.  We do not anticipate changes
** to experimental interfaces but reserve the right to make minor changes
** if experience from use "in the wild" suggest such changes are prudent.
**SQLITE的官方C语言API文档从注解生成,这个文件在SQLITE接口
**操作方面具有权威
** The official C-language API documentation for SQLite is derived
** from comments in this file.  This file is the authoritative source
** on how SQLite interfaces are suppose to operate.
** 构造管理文件是sqlite.h.in,makefile对这个文件
**(比如嵌入式版本中)做较小改动,build过程中其名改为sqlite3.h
** The name of this file under configuration management is "sqlite.h.in".
** The makefile makes some minor changes to this file (such as inserting
** the version number) and changes its name to "sqlite3.h" as
** part of the build process.
*/
#ifndef _SQLITE3_H_
#define _SQLITE3_H_
#include <stdarg.h>     
/*SQLITE接口需要va_list定义 Needed for the definition of va_list */

/*
** Make sure we can call this stuff from C++.
*/
// extern声明的函数和变量可以在本模块或其他模块中使用。
// extern "C"包含双重含义,其一:被它修饰的目标是“extern”的;
//其二:被它修饰的目标是“C”的。extern "C"仅被使用在C++调用C程
//序情况,C不能使用。#if 0把它屏蔽了,如果使用C++编译器,可以
//可以打开该选项
//比如test.cpp(C++源码文件)需要调用myc.h这个C头文件中
//用extern声明的函数,可以如下书写:
//extern "C"
//{
//#include "myc.h"
//}
#if 0
extern "C" {
#endif


/*
** Add the ability to override 'extern'
*/
//定义extern的宏,可使用SQLITE_EXTERN来完成extern功能
#ifndef SQLITE_EXTERN
# define SQLITE_EXTERN extern
#endif
//定义SQLITE_API宏
#ifndef SQLITE_API
# define SQLITE_API
#endif

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-306821-1-1.html 上篇帖子: sqlite 数据类型 下篇帖子: SQLite数据库安全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表