2007年8月10日 星期五

IDE & Compiler Introduction

大部份資料來源:按這裡
少部份作者自己修正。


◆ IDE

‧Dev-Cpp(Windows Only)http://www.bloodshed.net/
 Compiler 僅支援 GCC, 個人覺得不甚理想而且真的很久沒有更新了


‧Code::Blocks(Various)http://www.codeblocks.org/
 目前看過支援最多 compiler 的 IDE,最新的一版支援的
 Ccompiler 為:

 1. GCC
 2. MSVC 7.1(2003 toolkit)
 3. MSVC 8.0(2005 express)
 4. BCC 5.5(CLI 免費版)
 5. DMC(數位火星)
 6. Open Watcom(原本有家公司叫 Watcom, 現在大概掛了)
 7. Intel C/C++ Compiler(要付錢......)
 8. SDCC Compiler(Intel 8051... MCUs的編譯器)
 9. GNU GDC Compiler(GNU 的 D 語言編譯器…)
 10. DMD(數位火星的官方 D 編譯器)
 11. GNU ARM GCC Compiler

 在語法上,也支援許多奇奇怪怪的語言 =.=b,不過這不是重
 點,重點是他能切換各種 Compiler


‧Visual C++ 2005 Express(Windows XP SP2 Only)
 http://msdn.microsoft.com/vstudio/express/visualc
 內部使用的 compiler 是 MSVC 8.0


‧Turbo C++ Explorer(Windows Only)http://www.turboexplorer.com/
 如果上面那個算是真正的 IDE, 這個就叫暴走的 IDE 要安裝前必須
 先灌一堆雜七雜八的也就算了,自己本身也超大啟動時間相當長,
 元件相當多,功能多到爆炸 Orz全部安裝完可能會超過 1G 吧…內部
 使用的 compiler 似乎是 BCC 5.5, 有點歷史的 compiler...

 另外,其實 Turbo 是騙人的,他連 About 的地方都寫 BCB簡單地說應該就
 是 BCB 免費版………也同樣完整支援 RAD 與 VCL


‧Open Watcom C/C++(Winodws, OS/2, etc..?)
 http://www.openwatcom.org/
 這個東西我打開來看一眼就關掉了,看起來沒上面那兩個好用簡便強大
 內部使用的 compiler 是 Open Watcom 1.5, 測試結果…非常爛



Commercial Compiler

‧msvc 7.1(.NET 2003)網站已被 MS 移除…

 基本上這個是在 windows 上我最推薦的 compiler,全部合起來只有 30 MB, 比 MinGW 還要小(雖然 MinGW 不只是 C++ compiler)而且編譯出來的程式,也是最小最快的,比 msvc 8.0 還要小還要快,可惜已經被微軟移掉。


‧msvc 8.0(.NET 2005)http://msdn.microsoft.com/vstudio/express/visualc/
如果只是要用 compiler, 灌這有一點…累贅,畢竟他還包含了整個 IDE, 記得全部約 3xx MB不過以這種功能而言,這樣的 size 其實並不會很大,很可惜沒有像 msvc 7.1 那樣輕便版的就是了,否則搭 code::blocks 很方便編譯出來的程式略比 msvc 7.1 的慢一點,檔案則肥一些,但還是比 g++ 小應該會是個不錯的 compiler, 這有待我繼續嘗試


‧DMC 8.49 http://www.digitalmars.com/download/freecompiler.html
 這個…我之前的測試結果跟 bcc 類似,都是又慢又肥跟標準相不相容,就很難講了而且這次我要測試他的效能時,會跳出 STLport 的錯誤我也懶得追查要怎麼解決了


‧Opne Watcom 1.5 http://www.openwatcom.org/index.php/Download
 編出來的程式異常地小,比 msvc 7.1 的還小很多我懷疑他是否有用到什麼 dll 檔…?不能確定但是執行效能還真不是普通地爛,比 g++ 還差很多,更不用去跟 msvc 比了,差太遠了…好幾倍之差而且這個下載版本是 compiler + IDE 的,實在…不怎麼方便


‧icc(Intel C/C++ Compiler)http://www3.intel.com/cd/software/products/asmo-na/eng/compilers/279578.htm
 在 Windows 上,據說 icc 生出的程式是執行效能最好的可以有 30 天的試用期,不幸的是我之前下載的過期了,又懶得重抓,所以這次 icc 我沒有測試到安裝程式也滿大的,不知道裡面有哪些東西不過我個人是覺得 msvc 系列的執行效能就很好了,倒也不用刻意去找 intel 的來用



◆ Free Compiler

‧G++(GNU C++ Compiler)http://www.mingw.org/
 Windows 上只有 2.x 和 3.x 版可以用,4.0 一直都沒有前幾年我拿他編出來的程式和 msvc 7.1 比較,兩者是差不多的甚至 g++ 3.4.x 有略勝一點點,不管是程式大小和執行效率不過在這一兩年,msvc 7.1 忽然暴走,編出來的程式變得相當漂亮G++ 就已經完全不是對手了…不過 g++ 應該是目前跨最多平台的 c++ compiler, 用起來還是很方便編譯出來的程式也有一定的水準,雖然敗給 msvc 了


‧DJGPP
 一個 32-bit GNU C/C++ compiler. for DOS. 支援 DPMI (DOS Protected Mode Interface), 可開發 DOS 32-bit 保護模式的程式.


‧GNU C
 在任何安裝 Unix, BSD, Linux 的系統上都可見到.


‧Cygwin
 Windows 下的 GNU 與 Unix 環境, 可在 Windows 下使用 gcc, flex, bison...


‧WATCOM C
 知名的 C/C++ compiler. 現已 Free. 支援多種 OS 與平台.


‧Digital Mars C/C++
 前身是知名的 Zortech C/C++ , Symantec C/C++, 現已 Free. 支援多種 OS 與平台.


‧Turbo C++ 3.0
 a.Borland Turbo C++ 3.0, DOS 下的 C Compiler. 已開放為 Free Download. 可發展 DOS 16-bit real-mode application.


‧Borland C++ Compiler
 Free Borland C++ 5.5 compiler. 可發展 Windows 32-bit application. (Fast , Free and ANSI).

 全部約 50 MB,跟 MinGW 相近不過…老實講這 compiler 真的有點老舊了跟標準不太合就算了,編出來的程式也又肥又慢,完全比不上 g++而且不知道為什麼,我這次在 code::blocks 上的設定,他都會有個錯誤訊息,我不知道怎麼解決


‧SDCC
 C compiler for Intel 8051 and Zilog Z-80.


‧LCC - Win32
 C compiler for Win32 system (Windows 32-bit programming).


‧The 6502 C compiler
 C compiler for 6502 CPU. 6502 CPU 目前仍有許多廠商使用於 embedded system 上. 最早為 Apple II 電腦內使用了一顆 6502 CPU