Run-Time Library Version Numbers
Run-Time Library Version Numbers
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不同。