Just wanted to clarify something and wondering if anyone can shed some light.

As I understand it, a translation unit is any source file (.cpp or c), including the data from a header file and the results of any preprocessing.

1. Is a translation unit the the same as a compilation unit?

2. Given header file "file.h", if "source1.cpp" and "source2.cpp" both include "file.h", would these both constitute the same compilation unit, or are they seperate?