Monday, 7 November 2011

Can a file other than a .h file be included with #include? in C programming

Can a file other than a .h file be included with #include?

The preprocessor will include whatever file you specify in your #include statement. Therefore, if you have
the line

#include <macros.inc>

in your program, the file macros.inc will be included in your precompiled program.

It is, however, unusual programming practice to put any file that does not have a .h or .hpp extension in an #include statement. You should always put a .h extension on any of your C files you are going to include. This method makes it easier for you and others to identify which files are being used for preprocessing purposes. For instance, someone modifying or debugging your program might not know to look at the macros.inc file for macro definitions. That person might try in vain by searching all files with .h extensions and come up empty. If your file had been named macros.h, the search would have included the macros.h file, and the searcher would have been able to see what macros you defined in it.

Cross Reference:

V.3: How can you avoid including a header more than once?
V.12: What is the difference between #include <file> and #include “file”?
V.14: Can include files be nested?
V.15: How many levels deep can include files be nested?

No comments:

Post a Comment