SQLite C 接口
运行时库版本号
SQLITE_EXTERN const char sqlite3_version[]; const char *sqlite3_libversion(void); const char *sqlite3_sourceid(void); int sqlite3_libversion_number(void);
这些接口提供与SQLITE_VERSION、 SQLITE_VERSION_NUMBER和SQLITE_SOURCE_ID C 预处理器宏 相同的信息,但与库而不是头文件相关联。谨慎的程序员可能会在他们的应用程序中包含 assert() 语句,以验证这些接口返回的值是否与标头中的宏匹配,从而确保使用匹配的库和头文件编译应用程序。
assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER ); assert( strncmp(sqlite3_sourceid(),SQLITE_SOURCE_ID,80)==0 ); assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
sqlite3_version[] 字符串常量包含SQLITE_VERSION 宏的文本。sqlite3_libversion() 函数返回一个指向 sqlite3_version[] 字符串常量的指针。sqlite3_libversion() 函数是为在 DLL 中使用而提供的,因为 DLL 用户通常无法直接访问 DLL 中的字符串常量。sqlite3_libversion_number() 函数返回一个等于 SQLITE_VERSION_NUMBER的整数。sqlite3_sourceid() 函数返回一个指向字符串常量的指针,该常量的值与 SQLITE_SOURCE_ID C 预处理器宏相同。除非 SQLite 是使用合并的编辑副本构建的,否则散列的最后四个字符可能与SQLITE_SOURCE_ID不同.