⑴ 大家都用什麼C/C++編譯環境
了解的C/C++編譯器如下: x0dx0aGCC家族有 x0dx0aCygwin x0dx0aMingw32 x0dx0aDJGPP x0dx0aDev-C++(Mingw32) x0dx0a還有正宗的GNU GCC 2.95.5~3.0.0.4版本 x0dx0aMS家族有 x0dx0aMSC 5.0、6.0、7.0 x0dx0aMSQC 1.0、2.5 x0dx0aMSVC 1.0、4.2、6.0、7.0 x0dx0aBorland家族有 x0dx0aTC 1.0、2.0 x0dx0aTC++ 1.01、3.0 x0dx0aBC 3.0、3.1、4.0、4.5、5.0、5.02 x0dx0aBCB 3.0、5.0、6.0 x0dx0a其它有 x0dx0aIntel C/C++ 5.0 x0dx0aWatcom C/C++ 11.0、11.0c x0dx0aVectorC 1.3.3 x0dx0aIBM VisualAge for C++ x0dx0aDigitalMars C/C++ x0dx0aKAI C/C++ 4.03f for RedHat 7.2 x0dx0aLcc4.1 x0dx0aLCC-WIN32 2001-09-25~2002-04-28日版 x0dx0aSmall C x0dx0aCC386 x0dx0aPacific C x0dx0a另外還有C的解釋器 x0dx0aQuincy x0dx0aEic x0dx0aCINT x0dx0ax0dx0a上面提到的編譯器/解釋器,大部分我都使用過。現在固定使用VC7.0 Cygwin Mingw32 VectorC和LCC-WIN32這五種編譯器。 x0dx0ax0dx0a在GCC家族中GNU GCC是根本,其它的編譯器版本都是從它導出的。其中,Cygwin和Mingw32都是WIN32平台下的編譯器,DJGPP是DOS下的32位編譯器。大家所熟知的DEV-C++充其量只是GCC的一個外殼,它所自帶的編譯器就是Mingw32的一個版本。這些GCC的版本中,Cygwin是最大的,它與其說是一個編譯器,倒不如說是一套編程工具。它不僅有編譯器,還有其它很多的工具。其實,它就是一個UNIX系統在WIN32平台上的實現。實現了大多常用的UNIX工具,最近的版本中連Apache這樣的「工具」都集成進來的。不過,Cygwin雖然功能強大,但它卻不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因為太多其它的工具分散了人們的注意力。相比之下Mingw32就要好用得多,它只有最基本的幾個編程工具(只可惜它不自帶GDB)。GCC中並不只是C/C++編譯器,其中還有很多其它的編譯器如java,Fortran,ADA等。它是一個編譯器集合,不過有些編譯器只能在UNIX系統上用。MS家族的編譯器就不用說了,大家對它們都很熟悉。VC 7.0(VC.NET)是它的最新產品。Borland家族也不用說,大家也是耳熟能詳。最近它才推出了BCB 6.0。 x0dx0ax0dx0a其它的編譯器如:Intel C/C++大家一看名稱就知道是Intel的東西,它和VC6完全兼容,不過要掛在VC6下才能用。Watcom C/C++是早先編譯器四國大戰中的一員,原本是很不錯的東西,可惜戰略不對,現在已不見聲息了。倒是以它為基礎的一個OpenWatcom現在還在奮戰。VectorC是我近日才發現的一個好東東,它是個純C的編譯器。IBM的VisualAge for C++原本是IBM想用來淌C++編譯器這片渾水的東西,不過IBM的戰略改了,它就被放棄了。DigitalMars C/C++的前身的Symantec C++(它也是編譯器四國大戰中的一員),不過現在Symantec不做了,於是它的作者就把它改成了DigitalMars C/C++開放給大家使用。以上這些都是WIN32平台上的東西。KAI C/C++是個很強大的C/C++編譯器,它是個多平台的編譯器。不過現在被INTEL收購了,已經停止開發了。Lcc4.1是個純C的編譯器它是開放源代碼的。不過不怎麼好用。LCC-WIN32是一個在LCC基礎上開發的C語言的集成開發環境,很好用,而且有很詳細的資料,FREE!Pacific C是一個純DOS的C的集成開發環境,就不多說了。Small C CC386都是開放源代碼的編譯器,它們都很簡單,應用來給大家學習編譯器的。Quincy Eic CINT都是C的解釋器,是用來讓大家學習C語言的其中CINT的功能很強大,還支持一些C++的特性。 x0dx0a當然還有很多其它的編譯器,這里我給出的編譯器都是可以在WIN32或DOS平台上用的(除KAI外)。UNIX平台上的編譯器還是以GNU的為主,其它的我就不是很清楚了。 x0dx0ax0dx0a在以上的編譯器中,最特別的就是VectorC這個東西只支持純C。但它卻號稱是最快的編譯器,不過經過我的試驗,它的確在有些情況下強過其它編譯器很多!而且它還有個互動式的優化器,可以讓你直接看到C代碼對映的匯編代碼。Cygwin和Mingw32為一母所生,其運行效果相差不大。它們生成的代碼效率都很不錯,編譯的速度也很快,最值得一提的是它們對C++的特性的支持算是所有編譯器中最完全的,而且它們還支持C99的大部分特性。這一點很是不錯!大家對MS的VC已經很熟悉了,本不用我多說。不過在它的最新的產品VC7.0中,有很大的改進。它對C++的特性的支持比6.0有了很大的提高,是我所用的編譯器中是僅次於GCC的。而且它編譯出的程序,運行速度很快!僅有少數時候次於VectorC與GCC,其它情況都是最快的!其平均運行速度是最快的。對Borland的產品我也無需多說。它的TC2.0與BC3.1都是我最喜歡的東西。可是現在的BCB卻大不如前了,編譯的速度和VC6一樣慢!IDE還有較多的BUG。最令人想不通的是它生成的代碼的運行速度很慢,比LCC-WIN32還慢!它唯一值得一提的就是它的RAD做的比MS的好。Intel的編譯器大家可能不熟,它太貴了!還要有VC的支持,很不劃算,而且編譯速度比VC6還慢。不過它的代碼質量很不錯。DigitalMars C/C++沒有什麼亮點,編譯速度較快,代碼執行速度適中,對C++特性支持還算不錯。LCC-WIN32是個很不錯的集成開發環境,它只支持純C。它的編譯速度極快!代碼執行速度較慢。不過它的最大亮點在於它的IDE,在所有的FREE編程工具中,它的IDE是最專業的,有很強大的代碼分析,管理功能。而且它提供了大量的編程資料。 x0dx0a我曾對一些編譯器的代碼執行效率做過一些測試,以下是概況: x0dx0a1. VectorC、VC 7.0 (極快) x0dx0a2. Intel C/C++、VC 6.0、GCC (很快) x0dx0a3. DigitalMars C/C++ (一般) x0dx0a4. LCC-WIN32、BCB、BC5.02 (較慢) x0dx0a當然,我所做的測試比較片面。不過在很大程度上已能反映其大概狀況。
⑵ 誰推薦個好的C++編輯器
分類: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
最近覺得以前用的Turbo C++編輯器太難操作了,請問下誰知道有什麼美觀又好操作的C++編輯器嗎?我覺得FLASH的腳本編輯界面就很好,哪位大蝦給推薦一個?重謝!
解析:
C++開發常用工具「群英會」
開發環境
---->Turbo c
DOS時代c語言開發的經典工具,目前適合兩類人使用:c語言beginner(尤其是學生一族),具有懷舊情節的專業人士:)
---->Visual C++ 6.0/7.0
穩定而強大的IDE開發環境,具有豐富的調試功能,定製宏的功能也是其一大特色。Microsoft的經典之作,功能強大自不必言說。附帶的一些工具也很不錯,比如:Spy++。但編譯器較之同類,支持c++標準的程度不夠好,尤其6.0及以前的版本。
---->BCB
Borland的C++ Builder是可以與VC匹敵的另一個功能強大的IDE,速度和穩定性稍遜,但對c++標准支持的程度較好。
---->Cygwin
Windows平台下的C++編譯器,基於gcc,又完全兼容Window特有的東西,比如對winsock的支持。從cygwin可以找到有關Cygwin的詳細信息。
---->Dev-c++
Windows平台下,一個類似VC、BCB的c++ IDE開發環境,屬於共享軟體。界面親切優雅,size也不大,其4.9.x版有中文語言支持,無需漢化。編譯器基於gcc,完全支持STL。但是對於規模較大的軟體項目,恐怕難以勝任。可以從bloodshed/dev/devcpp找到有關Dev-c++的有關信息。
---->Source Insight
有著和Dev c++一樣漂亮的界面,提供代碼的編輯和察看功能,具有豐富的語法加亮功能,可以像VC一樣自動彈出成員函數的提示,並具有快速方便的函數跳轉功能(但是跳轉速度似乎有點慢)。只是默認設置不適合時,需要仔細的調整和修改。無法查找經typedef之後的名字。
輔助工具
---->Visual Assist
VC IDE環境下的輔助編程工具,能識別各種關鍵字、函數、成員變數,自動給出tip,並自動更正大小寫錯誤,標示拼寫錯誤等。是VC開發的良好伴侶。
---->Understand for C++
一款c/c++IDE編程的輔助工具,支持反向工程,代碼導向和一些統計功能,從scitools可以找到有關Understand for C++的詳細信息。
程序編輯器
---->EditPlus
一款很不錯的文本編輯軟體,功能強大卻又十分輕巧。支持不同語言的語法加亮,還有Project組織功能,具有豐富的自定義功能。通過設置User Tool,可以和其他語言編譯器結合,形成一個簡單的IDE。
---->Ultra Edit
功能和EditPlus相當,通過腳本文件提供的配置功能可以定製編輯環境,但自6.0版以後一直沒多大變化,就編程而言,自定義設置沒有EditPlus方便。
---->EMACS
公認的世界上功能最多,最復雜的文本編輯器,其實也可以當作程序員用的編輯器。
---->Visual Slick Edit
一個功能強大的程序員用編輯器。最值得一提的是其定製功能,很好用,可以和EMACS相比。自帶了一套PCODE解釋器,用c的語法,還可以掛接動態庫。配合mingw一起使用很方便。從slickedit可以找到有關SlickEdit的詳細信息。
---->IQEdit
全功能的程序員用編輯器,界面很漂亮,從pwksofare可以找到有關IQEdit的詳細信息。
UML/建模
---->Rational Rose
強大的建模工具,早已「家喻戶曉」,功過自然不必多加評說了。從rationalsofare可以找到有關Rational Rose的詳細信息。
---->Visual Modeler
MS Visual Studio 6.0所附的小工具。屬於Rational和MicroSoft合作的戰略產品,是Rose的簡化版。
---->Visio
Microsoft的建模工具,感覺更人性化一些,但功能沒有Rose多、強、專,支持正向的代碼生成,以及對代碼的反向工程。
---->Together
另一款功能強大的建模工具,用java編寫而成,口碑不錯,不過速度稍稍慢了一些。從togethersoft可以找到有關Togather的詳細信息,另外,以下網址提供了一個有關Together的教程: cc.puv.fi/~tka/kurssit/Tietojarjestelmien_suunnittelu/together/TCCGuide6
---->Visual UML
支持多種語言類型,比如:VC、VB、DELPHI、CORBA IDL等,可以直接從UML設計圖生成代碼,簡單易用,完全適合Personal use,界面也很清爽。從visualObject可以找到有關Visual UML的詳細信息。
---->SmartDraw
通用圖表製作軟體,可以用來製作組織機構圖、流程圖、統計圖表等。隨帶有圖庫,基本滿足製作各類圖表的需要。從 *** artdraw可以找到有關SmartDraw的詳細信息。
---->PlayCase
國產面向對象的建模軟體,兼容UML和IDEF,輕量級軟體,只是界面看起來有點簡朴,乃是高展先生用Delphi完成的。
版本控制
---->ClearCase
Rational的版本控制管理軟體,功能強大,可以控制多種類型的文檔,甚至包括Word、Excel、PowerPoint文檔。但使用復雜,不易上手,且不是免費軟體。
---->CVS
為基於Web的分布式協同開發提供了版本控制管理手段,且是免費軟體,可以通過腳本定製功能。但在許可權控制方面功能相對較弱。
---->VSS
微軟的版本控制管理工具,功能相對簡單,適合於小型團隊開發,將其整合到微軟的其他開發工具中,使用起來十分方便。
---->SourceOffSite
微軟為開發人員提供的遠程訪問VSS資料庫的工具,使資料庫得以遠程更新,以支持遠程辦公。其他的版本管理工具還包括:PVCS、VCS、RCS等。
XML
---->expat
用於讀取和處理XML文檔的c函數庫,最初是James Clark的個人作品,簡單輕巧,且速度快。但支持的編碼方式有限,最遺憾的是不支持中文。從expat.sourcefe可以找到有關expat的詳細信息。
---->xml4c
IBM的XML Parser,用c++語言寫就,功能超級強大。號稱支持多達100種字元編碼,能夠支持中文,適合於大規模的xml應用。若只是很小范圍的應用,則非最佳選擇,畢竟,你需要「背負」約12M左右的dll的沉重負擔。從alphaworks.ibm/tech/xml4c可以找到有關xml4c的詳細信息。
---->Xerces c++
Apache的XML項目,同樣是c++實現,來源於IBM的xml4c,因此編程介面也是和xml4c一致的。但是目前只支持少數的字元編碼,如ASCII,UTF-8,UTF-16等,不能處理包含中文字元的XML文檔。從 xml.apache/xerces-c可以找到有關Xerces c++的詳細信息。
測試
---->CppUnit
一個c++的單元測試框架,可以通過派生測試類的方式,定製具體的測試方案。xUnit家族的一員,從JUnit移植而來,JUnit是Java語言的單元測試框架。從cppuint.sourcefe可以找到有關CppUint的詳細信息。
---->Rational ROBOT
Rational的自動化測試工具,通過編寫腳本的方式提供自動化測試特性。其GUI方式的腳本錄制功能,有助於對GUI軟體進行功能測試;其VU方式的腳本錄制功能,有助於測試某些軟體的數據通訊功能。
---->Rational Purify
同樣是Rational的自動化測試工具,不需要被測程序的源代碼,可以用來檢查內存訪問錯誤、Windows API調用錯誤等,以完成軟體的可靠性測試,屬於白盒測試。
其他的Rational測試工具還包括:TestFactory、PureCoverage、TestManager等。
日誌
---->log4cpp
一個用於日誌記錄的c++函數庫,可以將內容以定製的方式記錄到不同的目的地,比如:文件、控制台syslog等,同時還可以通過控制記錄級別來屏蔽掉某些無關記錄。從log4cpp.sourcefe可以找到有關log4cpp的詳細信息。
注釋
---->Doc++
注釋文檔生成工具,根據源程序中的文檔注釋,可以輸出TeX和HTML格式的文檔。除了支持c/c++語言外,還支持IDL和java。僅提供命令行使用方式。從docpp.sourcefe可以找到有關Doc++的詳細信息。
---->Doxygen
注釋文檔生成工具,較之Doc++功能更為齊全,可以生成包括HTML、PDF、RTF在內的多種格式的文檔,並有GUI界面,除了支持c/c++語言外,還支持IDL、java、PHP、c#等。從stack.nl/~dimitri/doxygen可以找到有關Doxygen的詳細信息。