在前面小節中已經提到,C++只是一個ISO標准,標准中規定了C++的基本語法以及這些語法對應的語義可以簡單理解為語法的含義)。要將C++真正地應用在實際的程序設計中,只有一個標准是不夠的。
好在已經有很多商業公司、開源組織、基金會甚至是個人,遵照C++標准在不同的平台上進行了實現。這裡的遵照並不是百分之百地遵照C++標准,主要原因有以下幾點:
1)歷史原因。某些編譯器在實現的時候,C++正式標准還沒有出來,或者是按照較老的標准實現的C++標准也是在更新的)。
2)平台原因。某些平台上實現標准中的某些特性比較困難,或者根本不需要這些特性。
3)出於商業目的。某些商業公司實現的時候可能會添加一些其認為可行的或者更加好的特性。
4)其他技術原因。
無論如何,現在可用的C++編譯器實現已經很豐富了,在Windows平台上的實現就有若干種,比較常用的有Visual C++ 6.0附帶的C++編譯器實現,和Borland C++ Builder附帶的C++編譯器實現。就對標准的執行程度來看,後者要好一些。
提示:Visual C++和Borland C++ Builder是Windows操作系統上常見的C++開發工具。前者是微軟公司出品的,應用廣泛。本書的主要內容就是講述如何使用Visual C++ 6.0進行常見的Windows程序設計。Visual C++ 6.0除了包含了一個C++編譯器之外,還包含了其他的一些可視化開發工具、輔助工具,以及一些C++庫等,這些都將在本書的相關章節進行介紹。
1.3.2 Visual C++ 6.0的開發過程
Visual C++ 6.0編譯器負責將C++源代碼編譯成匯編文件,轉換為中間文件obj文件),然後使用連接器將相關的中間文件連接在一起,生成可執行的二進制文件。其過程如下:
1)源程序經過預處理後交給編譯器。
2)如果代碼無誤,編譯器將代碼生成匯編程序,再生成若干個目標程序obj文件)。
3)鏈接器負責將目標程序進行連接,生成可執行的程序。