gpt4 book ai didi

c - 如何检查 sqlite3 是否使用 HAVE_USLEEP 编译

转载 作者:行者123 更新时间:2023-12-03 10:01:29 26 4
gpt4 key购买 nike

我想验证我的 sqlite3 二进制文件是否使用 HAVE_USLEEP 选项编译。

编译选项引用herehere .

我想用 PRAGMA compile_options; 检查它,但在我的任何编译尝试中它都没有返回 HAVE_USLEEP

要编译我运行的 sqlite:

export CFLAGS="-DHAVE_USLEEP"
./configure
make

这给了我很多以 libtool 报告结尾的输出,其中似乎包含 -DHAVE_USLEEP

libtool:链接:gcc -DHAVE_USLEEP -DSQLITE_OS_UNIX=1 ....

configure 还报告存在 usleep

然而,编译后的二进制文件的 session 如下:

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。我正在寻找一种方法来区分状态以便能够进一步调试它。

感谢您对此有任何想法。

最佳答案

只看符号是否存在于sqlite库中:

$ nm /path/to/your/libsqlite3.a | grep usleep
U usleep

关于c - 如何检查 sqlite3 是否使用 HAVE_USLEEP 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59627376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com