38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | This directory is intended for project header files. | ||
|  | 
 | ||
|  | A header file is a file containing C declarations and macro definitions | ||
|  | to be shared between several project source files. You request the use of a | ||
|  | header file in your project source file (C, C++, etc) located in `src` folder | ||
|  | by including it, with the C preprocessing directive `#include'. | ||
|  | 
 | ||
|  | ```src/main.c | ||
|  | 
 | ||
|  | #include "header.h" | ||
|  | 
 | ||
|  | int main (void) | ||
|  | { | ||
|  |  ... | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | Including a header file produces the same results as copying the header file | ||
|  | into each source file that needs it. Such copying would be time-consuming | ||
|  | and error-prone. With a header file, the related declarations appear | ||
|  | in only one place. If they need to be changed, they can be changed in one | ||
|  | place, and programs that include the header file will automatically use the | ||
|  | new version when next recompiled. The header file eliminates the labor of | ||
|  | finding and changing all the copies as well as the risk that a failure to | ||
|  | find one copy will result in inconsistencies within a program. | ||
|  | 
 | ||
|  | In C, the convention is to give header files names that end with `.h'. | ||
|  | 
 | ||
|  | Read more about using header files in official GCC documentation: | ||
|  | 
 | ||
|  | * Include Syntax | ||
|  | * Include Operation | ||
|  | * Once-Only Headers | ||
|  | * Computed Includes | ||
|  | 
 | ||
|  | https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html |