什么是常用的libc头文件及其功能

时间:2013-06-16 17:52:34

标签: c linux gcc libc

我搜索了很多,发现了https://en.wikipedia.org/wiki/C_standard_library个不同头文件的漂亮参考,但它没有说明它们定义的常用函数。是否有对常用C函数的简要参考?

例如:

#include <getopt.h>
#include <event.h>
#include <libpq-fe.h>
#include <config.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/utsname.h>
#include <pwd.h>
#include <grp.h>

..是我在主要c程序中常见的标题..任何人都可以解释他们做了什么吗?

  • Nb:如果我看到一个方法int XXX(char * YYY),我怎样才能找到定义此方法的标题..

3 个答案:

答案 0 :(得分:2)

对于我所知道的标准C库中的所有内容如何工作,没有详细的解释。我不知道是否有,但请注意,实现是依赖于平台的。因此,您需要许多解释。

最好看一下您正在使用的文档和libc的来源。例如,对于glibc,可以在此处找到:docssource

截至你提到的标题,它在C中确实不是标准的(除了stdio.h),尽管在linux中常用。例如,getopt.h允许您使用函数进行命令行选项遍历。谷歌很容易与每个标题相关联。对于您将看到的每个标题,在一个位置没有标题 - 含义关系。

找出包含函数的标题通常是通过谷歌搜索来完成的。是的,再一次。但至少有两种方法可以找到它。首先,如果你使用IDE,它可以让你“去声明”一个函数,它将有效地找到头文件。其次,您可以grep遍历所有/usr/include/文件(或存储头文件的任何位置)并查找声明函数的位置。

另请注意,如果在标题中声明了函数,会告诉您实现的功能。例如,标准库中的大多数(如果不是全部)函数都是在glibc(或ms c运行时)中实现的。

答案 1 :(得分:2)

请参阅此处了解标准C:

http://port70.net/~nsz/c/c11/n1570.html#7

这里的标准POSIX:

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/contents.html

至于如何查找声明给定函数的位置,请在此处查找函数:

http://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html

并在概要文本中显示正确的标题。您自己的系统手册(例如* nix上的man页面)可能也会包含此信息,但大约有5%的时间它们是错误的,因此最好查看权威答案的标准。

答案 2 :(得分:0)

实际上,如果你看一下漂亮的参考文献,你可以点击大部分的包含文件,找到他们定义的列表函数。