1

我想知道这是否可能...

每当我们要编译 C 程序或 C++ 等时,我们都需要在 .c 文件中包含一些像 #include 这样的头文件......

有什么办法可以使任何由某个名称创建的文件.c 将自动包含头文件而无需输入程序...我不确定这是如何工作的...

甚至类似的东西......我使用vim,所以如果我保存任何文件,如ac,(没有在程序中放置#include),vim或gcc,无论哪个,都将其视为.c文件并添加stdio.h文件..我并不是说它应该添加到程序中,但是在编译时它也应该使用 stdio.h 文件...这可能吗...?

4

3 回答 3

4

GCC-include允许你这样做的选项。但是,此功能针对不同的用例,恕我直言,您的建议不是一个好主意。只需在源代码中编写#include指令,您只需执行一次。

于 2013-03-01T09:44:33.733 回答
1

您必须在实现文件中指定的原因#include是告诉编译器您真正想要的功能。函数名只是一个名称,尽管某些函数如fprintf()可以与特定功能相关联,但其他东西(如remove(), create(),之类的通用名称如何trigger())当然不能。指定它是你的工作,在 C 中,这是通过组合#include路径和包含路径来完成的。这在大多数编程语言中都很常见;例如,在 Java 中,您拥有import类路径。

因此,将包含排除在外显然是个坏主意。现在,如果您抱怨查找和键入它的工作量,请尝试 Vim 的片段解决方案或使用成熟的 IDE,其中大多数都为此提供了方便的快捷方式。

于 2013-03-01T11:03:28.270 回答
0

使用 sh 脚本,您可以创建一个包含文件名的全局变量。

你可以在使用后gcc %tmp_file%.c -include %tmp_file%.h

于 2013-03-01T10:18:21.303 回答