gpt4 book ai didi

c - 在 Linux 上从 #include 生成 GCC 选项

转载 作者:行者123 更新时间:2023-12-02 09:38:40 25 4
gpt4 key购买 nike

我想为学生构建一个工具,通过检查 #include 来推荐使用哪些 GCC 选项。他们用过。例如:

#include <math.h>      // recommend -lm
#include <zlib.h> // recommend -lz
#include <pthread.h> // recommend -pthread
是否有标准库和经典库的此类关联列表?
我只需要它用于 GCC 和 Linux。
- 编辑
由于看起来没有已知的解决方案,我已经开始构建这样一个列表,以及一个受 pkg-config 启发的简单包装脚本。 : see GitHub repo

最佳答案

您可以使用 -M GCC 选项以列出将用于编译的所有头文件。
之后,您应该能够创建一个脚本,该脚本将输出与您要标记的标题相匹配。
- 编辑
这是一个可能的脚本;我认为这不是最相关或最好的方法,但它适用于这种用法:

FILES="main.c" # For example

OUTPUT=$(gcc -M $FILES)

for LINE in ${OUTPUT[@]}
do
case $(echo $LINE | rev | cut -d"/" -f1 | rev) in
"math.h")
echo "You should use -lm"
;;
"pthread.h")
echo "You should use -pthread"
;;
"zlib.h")
echo "You should use -lz"
;;
# And so on with all the files you want to tag
esac
done

关于c - 在 Linux 上从 #include 生成 GCC 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64155528/

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