Note that some modern compilers (clang / LLVM, icc, and more recently even gcc) now support connection time optimization (LTO) to minimize the effect of separate compilation. Thus, you get the benefits of a separate compilation (maintenance, faster compilation, etc.), as well as all analyzes of the entire program.
By the way, gcc seems to support -fwhole-program and -combine since version 4.1. However, you must transfer all source files.
Finally, since BOOSTs are basically header files (templates) included by #, you cannot get anything from adding them to the source code.
source share