Small. Fast. Reliable.
Choose any three.

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()语句,以验证这些接口返回的值与标头中的宏相匹配,从而确保使用匹配的库和标头文件来编译应用程序。

断言(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 []字符串常量的指针。由于DLL用户通常无法直接访问DLL中的字符串常量,因此提供了sqlite3_libversion()函数供DLL使用。sqlite3_libversion_number()函数返回一个等于SQLITE_VERSION_NUMBER的整数 。sqlite3_sourceid()函数返回一个指向字符串常量的指针,该字符串常量的值与 SQLITE_SOURCE_ID C预处理程序宏相同。除非SQLite是使用合并的编辑副本构建,否则哈希的最后四个字符可能与SQLITE_SOURCE_ID不同

另请参见:sqlite_version()sqlite_source_id()

另请参见 对象常量函数的列表