C++ c++#包括(在什么中有什么功能)

C++ c++#包括(在什么中有什么功能),c++,c,include,C++,C,Include,我是一个经验丰富的Java程序员,所以我知道include做什么,为什么这么做,但是,我以Java为例,当我需要一个方法时,我可以去结构,打开JAR,看看里面有什么,但是我一直在看一些tut,他们说你需要包含这个.h文件,因为它有这个函数等等,所以问题是:我键入了#include并得到了所有.h文件的列表,但我看不到这些文件中有什么,所以如果我需要使用一个函数来访问系统属性(只是一个示例),您如何知道要包含什么,我现在真的不喜欢C,这只是因为这个原因。函数不存在于头文件(.h)中。它们存在于.l

我是一个经验丰富的Java程序员,所以我知道include做什么,为什么这么做,但是,我以Java为例,当我需要一个方法时,我可以去结构,打开JAR,看看里面有什么,但是我一直在看一些tut,他们说你需要包含这个.h文件,因为它有这个函数等等,所以问题是:我键入了#include并得到了所有.h文件的列表,但我看不到这些文件中有什么,所以如果我需要使用一个函数来访问系统属性(只是一个示例),您如何知道要包含什么,我现在真的不喜欢C,这只是因为这个原因。

函数不存在于头文件(.h)中。它们存在于.lib、.so、.dll等文件中,具体取决于它们是静态文件还是动态文件以及操作系统。头文件只是声明/原型函数。通常,函数的文档会告诉您它在哪个头中声明

头文件是文本文件。您可以在任何文本编辑器中打开它们以查看它们,查看它们声明了哪些函数

通常,如果文档没有告诉我标题(罕见),我会转到headers目录,然后执行
grep
(在Linux/Unix上)或windows上的
findstr
,以确定我想要的函数的声明位置

另一件需要知道的事情是,包含正确的头文件将有助于编译程序,但可能无法确保程序将链接到构建最终二进制文件。为此,您将链接到正确的lib文件。同样,函数的文档将告诉您链接哪个库是正确的。在microsoft world中,某些头文件可能具有
pragma
lib条目,以确保包含头文件时会自动链接到正确的lib文件中


许多文档也可以在线获取-msdn、CPPFerence等。

您是否阅读过详细的手册,其中记录了您想要使用的功能?通常,它会指定你需要的头包含在其中。对于C++,只需搜索你需要的函数,对于EX,你就可以得到头。C和C++标准都定义了他们的语言和行为,它们还定义了标准的授权(和一些可选的)库功能,包括访问它所需的标题。一些非常棒的网站已经把搜索这个当成了一个瞬间(例如)。对于第三方库提供的其他功能,他们应该以类似的方式进行记录。谢谢各位,我想我是被java中的javadoc宠坏了,我不知道cppreference。删除
[java]
标记给出的答案不应该是关于java的。所有源文件都是文本文件。