⑴ 什麼是「編譯器」
編譯信息在pe文件頭中,pe告訴系統如何分配內存。
⑵ c++各種編譯器有什麼不同,應該不存在哪種編譯器最好的說法吧是不是只要學會用一種編譯器就可以了
gcc過去是指gnu組織的c語言編譯器,
現在gcc包括gcc命令在內都是gnu的各種語言的編譯器集。
在類linux環境輸入gcc可以指定編譯各種語言。c/c++,objc,ada,pascal,d,fortran等等
g++是專指gnu c++的編譯器,屬於gcc的一個編譯器。
而且要指出g++, dev c++, codeblocks, mingw,等等其實都是在用gcc編譯器中c/c++的部分。
各適合做什麼?
vc++在win下優勢最強,在x86指令下性能優化、標准支持是最好的之一,性能僅次於intel cc,但綜合性能最強。
borland c++,現在已經被c++ builder 2012取代了。這個版本的優勢也是同vc++類似,在win加x86的cpu下。特別之處是豐富的組件和快捷向導方案,自動生成代碼很多。做常用的網路、資料庫,桌面應用,很多時候都不用敲什麼代碼,直接滑鼠一陣拖拉就出來了,適合做又快又臟的應用。性能優化不如vc++
gcc是開源軟體的核心組件,linux/unix,全靠它編譯,支持幾乎世上所有的32位以上晶元,什麼手機、龍芯、pc,power pc, arms,大設備小設備都靠它。最樸素,但性能強大。適用於任何需要計算的場合。經過多個巨頭砸巨資優化過的編譯器,性能是一流的。移植性一流。標准化程度也是一流。就是開發工具—打字碼字的工具IDE,沒有像前2個那樣商業化,。
⑶ 常見的C語言編譯器是什麼
目前最流行的C語言編譯器有以下幾種:
1、GNU Compiler Collection 或稱GCC
GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。
GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
2、Microsoft C 或稱 MS C
Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......
3、Borland Turbo C 或稱 Turbo C
Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。
(3)四國語言編譯器擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
3、匯編階段將匯編語言翻譯成機器指令。
4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。