Я хотел бы проверить, скомпилирован ли мой двоичный файл sqlite3 с опцией HAVE_USLEEP
.
Опция компиляции называется здесь и здесь .
Я хотел проверить это с PRAGMA compile_options;
, но он не возвращает HAVE_USLEEP
ни при одной из моих попыток компиляции.
Чтобы скомпилировать sqlite, который я запускаю:
export CFLAGS="-DHAVE_USLEEP"
./configure
make
, который дает мне много выходных данных, заканчивающихся отчетом libtool, который, кажется, включает -DHAVE_USLEEP
libtool: link: gcc -DHAVE_USLEEP -DSQLITE_OS_UNIX=1 ....
configure
также сообщает usleep
присутствует.
Однако сеанс со скомпилированным двоичным файлом выглядит следующим образом:
user@pc:~/Downloads/sqlite$ ./sqlite3
SQLite version 3.31.0 2020-01-07 09:06:43
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> PRAGMA compile_options;
COMPILER=gcc-4.8.4
ENABLE_DBSTAT_VTAB
ENABLE_FTS4
ENABLE_JSON1
ENABLE_RTREE
ENABLE_STMTVTAB
ENABLE_UNKNOWN_SQL_FUNCTION
HAVE_ISNAN
THREADSAFE=1
sqlite>
Я пробовал оба -DHAVE_USLEEP
и -DHAVE_USLEEP=1
.
На данный момент я не знаю, как к этому подойти - кажется, что DHAVE_USLEEP
передается в libtool
, но опция отсутствует в отчете. Я либо скомпилировал его без опции (как-то), либо PRAGMA compiled_options
не возвращает DHAVE_USLEEP
. Я ищу способ дифференциации состояний, чтобы иметь возможность отладить его дальше.
Спасибо за любую идею относительно этого.