![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Эти интерфейсы предоставляют ту же самую информацию,
как С-макросы препроцессора
SQLITE_VERSION,
SQLITE_VERSION_NUMBER и
SQLITE_SOURCE_ID,
но связаны с библиотекой вместо заголовочного файла.
Осторожные программисты могли бы включать assert(), чтобы
проверить, что значения, возвращенные этими интерфейсами, соответствуют
макросу в заголовке, и таким образом гарантировать, что приложение собрано с
соответствием библиотеке и заголовочным файлам. Строковая константа sqlite3_version[] содержит текст макроса
SQLITE_VERSION. Функция sqlite3_libversion()
возвращает указатель на строковую константу sqlite3_version[].
sqlite3_libversion() обеспечивается для использования в DLL,
так как у пользователей DLL обычно нет прямого доступа к строковым
константам в DLL. sqlite3_libversion_number() вернет integer, равный
SQLITE_VERSION_NUMBER.
sqlite3_sourceid() вернет указатель на строковую константу, значение
которой совпадает с макросом SQLITE_SOURCE_ID
. Кроме того, если SQLite строится, используя отредактированную копию
объединения,
то последние четыре знака хэша могли бы отличаться от
SQLITE_SOURCE_ID. См. также: sqlite_version()
и
sqlite_source_id().
Choose any three.
SQLite C Interface
Номера версий библиотеки времени выполнения
SQLITE_EXTERN const char sqlite3_version[];
const char *sqlite3_libversion(void);
const char *sqlite3_sourceid(void);
int sqlite3_libversion_number(void);
assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER );
assert( strncmp(sqlite3_sourceid(),SQLITE_SOURCE_ID,80)==0 );
assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );