我的编译顺序是:
core1.c
top.c
core1.c内容:
#include "header1.h"
#include "header2.h"
void function1() {
---- }
void function2() {
---- }
header1.c内容函数声明,枚举,包括:
#include comdef.h
void function1();
void function2();
top.c内容:
#include "header1.h"
#include "header2.h"
void main() {
function1();
function2();
}
我将在我的项目中添加更多头文件和更多核心C文件。每个core.c文件都需要相同的头文件。如何使这一切正常工作,而无需在每个core1.c,core2.c等中放入#include标头1 / 2.h,而仅在main.c中包含这些标头?
答案 0 :(得分:1)
您可以使用包含所有文件的全局头文件
/* glob.h */
#ifndef GLOB_H
#define GLOB_H
#include "header1.h"
#include "header2.h"
#endif /* GLOB_H */
并在您的主文件中
#include "glob.h"
即使这被认为是不好的风格,也有几个使用此方法的项目,即gtk
答案 1 :(得分:1)
每个源文件使用一个标头:
core1.h:
#ifndef _CORE1
#define _CORE1
#include comdef.h
void function1();
void function2();
#endif
core1.c:
#include "core1.h"
void function1() {
---- }
void function2() {
---- }
top.c:
#include "core1.h"
void main() {
function1();
function2();
}