I am working on a relatively big program that is divided in multiple modules, and I just want to know:

Which is more program efficient? Writing a header file that has all the #include's the program needs, or #include'ing the necessary files for each module separately? The thing is that I am not sure if the compiler preprocesses every single module first and them compiles them all together, or if the compiler preprocesses the modules and compiles them seperately.

Thanks.