我正在寻找一些信息。 我在包含文件的许多程序中看到了
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
我想知道更多上述头文件的用途,即使用哪个头文件的条件。 任何明确提到哪个头文件服务的链接都会很好。
答案 0 :(得分:3)
答案 1 :(得分:2)
头文件用于声明某些现有库中定义的项目。
如果您想使用socket()
,则需要加入sys/types.h
和sys/socket.h
。如果您想使用atan()
,则需要添加math.h
。如果您想使用printf()
,则需要添加stdio.h
。
知道函数需要哪个头文件的文档(Unix / Linux上的man printf
)。
了解哪个函数可用于解决问题由经验,stackoverflow和Google提供。
答案 2 :(得分:0)
如果你想知道头文件中有什么内容,请认真看一下:大多数情况下会先从描述内容的一些评论开始,如果它不是很明显的话。
如果您想知道程序包含的头文件的哪个部分正在使用,请尝试删除它并查看错误消息。这也可能听起来很滑稽,但遗憾的是,通常没有更好的方法来解决这个问题。但是,可能是在一个平台上某些功能需要包括两个标头,而在某些其他平台上只需要其中一个(可能是因为第二个标题是由一些早期的包括间接拾取):如果你在平台上测试如果需要一个标头并决定删除第二个包含,则可能会破坏另一个平台上的构建。因此,当您找到所需的内容时,请查阅手册页以获取所需的标题 - 它们可能由某些标准指定,两个平台都可以使用。
如果您想知道自己使用哪些头文件,那么再次 - 您必须查看需要调用的函数的文档。即便如此,作为C ++程序员,您应该更喜欢某些C头的C ++版本,而man
等标准文档工具 - 给定C函数名称 - 不会告诉您C ++头文件。阅读例如http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch03s02.html - 它是GCC文档,但描述了这些标头的C ++标准要求。