【问题标题】:Automatically include header files when I open a .c file [closed]当我打开 .c 文件时自动包含头文件 [关闭]
【发布时间】:2013-03-01 09:39:23
【问题描述】:

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

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

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

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

【问题讨论】:

  • 认为您可能不了解正在发生的事情,否则稍微考虑一下就会告诉您,不,您不能。
  • 是的,我想了想,我知道这是不可能的......但是你们都有很好的知识......所以只是想知道你是否真的不可能..
  • 以后可能不想写int main(void)

标签: c unix gcc vim stdio


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-13
        • 2012-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        相关资源
        最近更新 更多