Linux 中如何快速查看 C 库函数的头文件、库文件

您所在的位置:网站首页 linux库文件的描述 Linux 中如何快速查看 C 库函数的头文件、库文件

Linux 中如何快速查看 C 库函数的头文件、库文件

#Linux 中如何快速查看 C 库函数的头文件、库文件| 来源: 网络整理| 查看: 265

Linux 中如何快速查看 C 库函数的头文件以及相应的函数信息

使用man帮助或grep

1)man命令 函数名,则能够打印该函数的所有说明,当然这个函数必须是Linux-C本身就有的函数。例如 man 3 ntohs

2)grep "keyword" /usr/include/*.h |grep "typedef"

以上方法可以查找关键字为keyword的结构体、类型、函数原型的定义,typedef可以替换为define尝试查找,几次重复查找找到的定义,就能最终确定。(头文件信息,结构体定义一般都在/usr/include目录底下)

如:grep “time_t” /usr/include/*.h |grep “typedef”可以查找到“typedef_time_t time_t;”

Locatekeyword.h 可以查找名为keyword 的头文件所在地目录树。

Linux的man很强大,该手册分成很多section,使用man时可以指定不同的section来浏览,各个section意义如下:  1 - commands 2 - system calls 3 - library calls 4 - special files 5 - file formats and convertions 6 - games for linux 7 - macro packages and conventions 8 - system management commands 9 - 其他 解释一下,  1是普通的命令 2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) 3是库函数,如printf,fread 4是特殊文件,也就是/dev下的各种设备文件 5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 6是给游戏留的,由各个游戏自己定义 7是附件还有一些变量,比如向environ这种全局变量在这里就有说明 8是系统管理用的命令,这些命令只能由root使用,如ifconfig 想要指定section就直接在man的后面加上数字,比如 : man 1 ls man 3 printf 等等

Linux下如何查找一个函数在哪个库中

有一些常识或者说平时的积累是必要的,终究常用的库很少。 当我遇到一个函数不知道所属的库的时候,我会先找到头文件所属的包,然后看看那个包(或者相关包)的.a或者.so文件有哪些,然后: objdump -x 库文件 | grep 函数名 确认函数名是定义而不是引用以后,就知道需要链接这个库了。

比如:查找htons对应的库文件

1)、man htons,里面讲的是arpa/inet.h; 2)、假设你用的是rpm类型的系统。

2.1)、centos/redhat下查看某个文件或命令属于哪个rpm包:

$ yum provides /etc/passwd

或者

$ rpm -qf /etc/passwd

2.2)、ubuntu及衍生版:

sudo dpkg -S whereis或

sudo dpkg-query -S /usr/bin/whereis

不过该命令不如rpm -qf强大,如/etc/passwd就查不出。

2.3)、gentoo及衍生版

#未安装的文件

e-file qmake

#已安装的文件查看

equery b

或qfile

如果通过上面还是搜索不到对应的包文件,那就baidu或google搜索了一下。 3)、貌似这个glibc-headers只是个包含头文件的软件包,看看其他类似的软件包是什么:rpm -qa | grep glibc 4)、我看见了glibc,glibc-devel,glibc-common,觉得glibc-devel肯定是提供.a(静态链接)的 5)、rpm -q --filesbypkg glibc-devel| grep \.a$ | awk '{print $2}' |xargs grep htons找到所有带htons的静态库文件 6)、只有一个:/usr/lib/libc.a 7)、如果有好几个的话,用objdump -x看看符号表

 查看Linux下*.a库文件中文件、函数、变量等情况

在Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 中包含哪些文件、函数、变量:

        1. 查看文件:ar -t*.a

        2. 查看函数、变量:nm*.a



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3