我是一个相当老练的Java程序员,所以我理解包括什么,以及为什么要这样做,但是,我使用java作为一个例子,当我需要一个方法,我可以去结构并打开罐子和看看有什么,但我一直在看一些啧啧,他们说你需要包含这个.h文件,因为它有这个功能等,所以问题:我打字#include< .h>并获得了所有.h文件的列表,但是NOWHERE我看到这些文件中有什么,所以如果我需要使用一个获取系统属性的函数(只是一个例子),你怎么知道包含什么,由于这个唯一的原因,我现在真的不喜欢C.
答案 0 :(得分:2)
函数。它们存在于.lib,.so,.dll等文件中,具体取决于它们是静态还是动态的,具体取决于操作系统。头文件只声明/原型化该函数。通常,函数的文档会告诉您声明了哪个头。
标题文件是文本文件。您可以在任何文本编辑器中打开它们以查看它们,以查看它们声明的功能。
通常情况下,如果文档没有告诉我标题(很少),我会转到headers目录,并在Windows上执行grep
(在Linux / Unix上)或findstr
弄清楚我想要的功能在哪里宣布。
另一件需要知道的事情是,包含正确的头文件将有助于编译您的程序,但可能无法确保您的程序将链接以构建最终的二进制文件。为此,您链接到正确的lib文件。同样,该函数的文档将告诉哪个是正确的lib链接。在microsoft世界中,一些头文件可能有一个pragma
lib条目,可确保包含头文件自动链接到右侧lib文件中。
许多文档也可以在线获得 - msdn,cppreference等。