C包括标题中的包含

时间:2015-06-27 04:02:27

标签: c makefile gnu

我现在正在使用编译器,我想确保问题不是对头文件的基本误解。如果我包含一个头文件,并且该头文件中包含了该文件(如<stdbool.h><stdio.h>等...),那么依赖C文件应该没有任何问题,对吧?根据我的理解,预处理器应该在我调用makefile时相应地插入汇编的代码。我错了吗?

重申:

  • 说我main.c prototype.h

  • prototype.h里面有我所有常用的图书馆和什么不包括。

  • 我还有其他几个C文件(例如secondary.ctertiary.c),这两个文件都需要通常的库,可能需要也可能不需要原型并且还有自己的头文件。

我需要做的就是在每个C文件中包含prototype.h,对吗?

此外,在那个例子中,如果我使用.o-c的{​​{1}}标记创建gcc文件,我是否需要更新makefile的目标?

当我开始时,我以为我对此有了坚实的把握,但现在我完全糊涂了。

1 个答案:

答案 0 :(得分:0)

这是多个答案的问题。

在简单的情况下,如果在.c文件中使用标题,则只包含标题。标题是编译的依赖项,因此,您只需将它放在使用那些.c文件的同一个存储桶中。

对于加速编译的大型项目,您可以使用名为&#39; precompiled header&#39;。您必须在每个源文件中包含相同的头文件,编译器只会处理该头文件一次。当标题很复杂时(例如,升级库)

,这非常有用