如何在全球范围内将文件包含在C中?

时间:2018-11-29 09:21:27

标签: c

我的编译顺序是:
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中包含这些标头?

2 个答案:

答案 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();  
 }