Mohit Deshpande Mohit Deshpande - 1 month ago 19
C Question

Include headers in header file?

I have several libraries made by myself (a geometry library, a linked list library, etc). I want to make a header file to include them all in one lib.h. Could I do something like this:

#ifndef LIB_H_
#define LIB_H_

#include <stdio.h>
#include <stdlib.h>
#include <linkedlist.h>
#include <geometry.h>
....

#endif


Then I could just reference this one library and actually reference multiple libraries. Is this possible? If not, is there a way around it?

Answer

Yes, this will work.

Note, however, that if you include a lot of headers in this file and don't need all of them in each of your source files, it will likely increase your compilation time.

It also makes it more difficult to figure out on which header files a particular source file actually depends, which may make code comprehension and debugging more difficult.