The follow files:
1.cc include common.h
2.cc include common.h
unity_build.cc include 1.cc and 2.cc
I can understand that the time to compile unity_build.cc will be faster than compiling 1.cc and 2.cc separately, because common.h is only expanded once, so less code needs to be compiled in total.
But why the binary file size is smaller? Didn't the linker remove the same symbols?