2010-05-08 72 views

回答

33

從C++標準:

源文件與所有標頭和源文件一起通過預處理指令#include少任何源極線跳過由任何條件包含預處理指令的包括被稱爲翻譯單元。

30

「翻譯單元」是一個源文件加上它包含的任何標題或其他源文件,以及它們包含的任何文件等等。源文件就是......一個源文件。

如果有幫助,請將源文件視爲預處理器運行的「之前」,並將翻譯單元視爲「之後」。

16

翻譯單位是C++編譯的基本單位。它包含:

  • 所有的預處理後的單一來源文件的內容已經走完
  • 的任何頭文件被它直接或間接地包含內容的使用條件預處理語句忽略
  • 減去任何線

單個翻譯單元被編譯到目標文件,庫或可執行程序中。

相比之下,源文件是一個獨立文件,就像文件系統上的任何其他文件一樣。一旦編譯完成,它可以成爲上述翻譯單元的一個組件。