我正在学习C以进行作业分配。使我困惑的一件事是头文件。我试图找到一些有关我的问题的信息,但无济于事。
我的问题是,说我有3个不同的.c文件。约定是(至少来自阅读源)-每个.c文件都有其自己的.h文件,例如parser.c具有parser.h,lexer.c具有lexer.h,typechecker.c具有typechecker.h(如果我们正在编译器)。
然后,我们继续添加一条语句:
#include "parser.h"
#include "typechecker.h"
在lexer.c文件中,并与其他.c文件相同(更改我们包含的头文件)。
除了使用该约定外,还可以将所有3个类文件的所有原型添加到一个标头(例如header.h)中,并将其包括在所有3个类中吗?问题在于这3个类将具有已经包含在该类中的函数原型,但是我不认为这是一个问题(我是C语言的初学者,所以我可能是错的)。
谢谢。
您建议的内容是允许的,但不建议使用。将所有原型都放在一个标头中,将使您在编译和构建上花费很多。尝试专注于“为什么使用头文件?”。如果您得到此答案,您将避免将所有内容添加到一个头文件中。头文件旨在实现模块化,从而仅向源文件提供其所需的那些信息。其次,在大型项目中,您必须定义“私有”头文件,这些头文件在代码内部使用,并且对于外部单词不可见。当然,您将为其他用户提供头文件以使用您的代码。因此,即使在您开始学习时也不建议放置所有原型。首先,每个源文件制作一个头文件。
编辑
如果您的header1.h具有函数function1(),则在使用function1()的任何地方(所有源文件),都将添加header1.h
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句