我是一位经验丰富的 Java 程序员,所以我了解 include 的作用以及为什么要这样做,但是,我以 java 为例,当我需要一种方法时,我可以转到结构并打开罐子,看看是什么那里,但我一直在看一些 tut 的,他们说你需要包含这个 .h 文件,因为它有这个功能等等,所以问题:我输入了 #include<.h> 并得到了所有 .h 文件的列表。 h 文件,但我看不到这些文件中的内容,所以如果我需要使用获取系统属性的函数(只是一个示例),你怎么知道要包含什么,我现在真的不喜欢 C仅仅因为这个原因。
问问题
228 次
1 回答
2
头文件 (.h) 中不存在函数。它们存在于 .lib、.so、.dll 等文件中,具体取决于它们是静态的还是动态的以及取决于操作系统。头文件只是声明/原型函数。通常,函数的文档会告诉您它是在哪个标头中声明的。
头文件是文本文件。您可以在任何文本编辑器中打开它们来查看它们,看看它们声明了哪些函数。
通常,如果文档没有告诉我标头(很少见),我会转到标头目录并执行grep
(在 Linux/Unix 上)或findstr
在 Windows 上执行以找出声明我想要的函数的位置。
要知道的另一件事是,包含正确的头文件将有助于编译您的程序,但可能无法确保您的程序将链接到构建最终二进制文件。为此,您链接到正确的 lib 文件。同样,该函数的文档将告诉哪个是要链接的正确库。在微软世界中,一些头文件可能有一个pragma
lib 条目,它确保包含头文件会自动链接到正确的 lib 文件中。
许多文档也可以在线获得 - msdn、cppreference 等。
于 2013-09-08T07:30:29.567 回答