標準的 C 編譯過程
可執行 C++程式程式碼通常由編譯器生成。
一個編譯器是從一種程式語言轉換程式碼為另一種形式,它是(多)用於在計算機可直接執行的程式。使用編譯器來轉換程式碼稱為編譯。
C++從其父語言 C 繼承了其編譯過程的形式。下面是一個列表,顯示了 C++中編譯的四個主要步驟:
- C++前處理器將任何包含的標頭檔案的內容複製到原始碼檔案中,生成巨集程式碼,並將使用#define 定義的符號常量替換為它們的值。
- 由 C++前處理器生成的擴充套件原始碼檔案被編譯為適合該平臺的組合語言。
- 由編譯器生成的彙編程式程式碼被組裝成適合該平臺的目的碼。
- 彙編程式生成的目的碼檔案與用於生成可執行檔案的任何庫函式的目的碼檔案連結在一起。
- 注意:某些已編譯的程式碼連結在一起,但不能建立最終程式。通常,這種連結程式碼也可以打包成其他程式可以使用的格式。這個“打包的,可用的程式碼包”是 C++程式設計師所稱的庫。
許多 C++編譯器也可以合併或取消合併編譯過程的某些部分,以方便或進行其他分析。許多 C++程式設計師將使用不同的工具,但是當他們參與程式的生成時,所有這些工具通常都會遵循這個通用的過程。
下面的連結擴充套件了這個討論,並提供了一個很好的圖形來幫助。 [1]: http : //faculty.cs.niu.edu/~mcmahon/CS241/Notes/compile.html