gpt4 book ai didi

c++ - 如何查看 C 头文件的源代码?

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:57 31 4
gpt4 key购买 nike

我想查看一些函数和结构的规范。在我正在学习的教程中,它说

see the gdk/gdkkeysyms.h header file for a complete list of GDK key codes.

我记得我曾经(不小心)打开了 ma​​th.h 文件,但我用

find -name 
find -wholename

Bash 中的命令无法执行,互联网也没有解决我的问题。

最佳答案

如果您正在使用安装了gcc 的系统,您可以获得包含的C 预处理器来打印出所有包含文件的完整路径。当然,前提是您以 gcc 可以找到的方式安装了头文件。

对于一个简单的系统头文件,可以很方便的提取路径:

$ cpp -H -o /dev/null - <<<'#include <sys/time.h>' |&head -n1
. /usr/include/x86_64-linux-gnu/sys/time.h

注意 1:|&head -n1 仅导致输出的第一行——定向到 stderr——到被打印。完整输出包含整个包含树,点表示包含深度。

注意2:上面假设你使用的是C,如果header是C++,你需要告诉cpp,使用-x标志:

$ cpp -H -o /dev/null -x c++ - <<<'#include <vector>' |&head -n1
. /usr/include/c++/5/vector

对于头文件需要 -I 选项的库,您可以尝试使用 pkg-config 找到正确的编译器选项(假设您知道正确的包名称):

$ cpp -H -o /dev/null $(pkg-config --cflags gdk-2.0) - <<<'#include <gdk/gdkkeysyms.h>'|&head -n1
. /usr/include/gtk-2.0/gdk/gdkkeysyms.h

为了在我的系统上找到包名,我查询了 pkg-config 本身,然后猜测需要哪个:

$ pkg-config --list-all | grep gdk
gdk-pixbuf-2.0 GdkPixbuf - Image loading and scaling
gdk-2.0 GDK - GTK+ Drawing Kit (x11 target)
gdk-pixbuf-xlib-2.0 GdkPixbuf Xlib - GdkPixbuf rendering for Xlib
gdk-x11-2.0 GDK - GTK+ Drawing Kit (x11 target)

关于c++ - 如何查看 C 头文件的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40026946/

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