小巧。快速。可靠。
三选二。

SQLite C 接口

运行时库版本号

SQLITE_EXTERN const char sqlite3_version[];
const char *sqlite3_libversion(void);
const char *sqlite3_sourceid(void);
int sqlite3_libversion_number(void);

这些接口提供与 SQLITE_VERSIONSQLITE_VERSION_NUMBERSQLITE_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 不同。

另请参阅:sqlite_version()sqlite_source_id()

另请参阅 对象常量函数 列表。