 These object files can then be linked together to create a single executable file or library.However, this leads to multiple passes being performed on common header files, and with C++, multiple template instantiations of the same templates in different translation units.The "Single Compilation Unit" technique uses pre-processor directives to "glue" different translation units together at compile time rather than at link time.