給c++程序員的一份禮物——經常使用工具集

【聲明】如需複製、傳播,請附上本聲明,謝謝。原文出處:http://morningspace.51.net/,moyingzz@etang.com

  所謂"工欲善其事,必先利其器",從程序員的角度來說,好工具的使用總會給人帶來事半功倍的效果。面對衆多工具/軟件,咱們應該如何取捨呢。前不久,筆者在csdn的c++論壇發了一篇貼文,以期能徵求你們的普遍意見,獲得了不錯的反響。本文在對該貼進行整理的基礎上,又作了一些補充。在這裏要特別感謝網友:DanielWYO(愛上小白),redleaves(無意紅葉)。html

 

有如下幾點須要聲明:java

  1. 本文主要是針對c++程序員的,但一些綜合類的通用型工具/軟件,做爲c++程序員而言也是不可或缺的,所以也被列入其中。一樣,這些工具/軟件,對其餘語言的程序員,也是適用的。     
  2. 對所列各種工具/軟件的評價,其依據是多數網友的觀點彙總,並結合了筆者本身的我的觀點,供參考,若有不實之處,歡迎指正。     
  3. 對所列各種工具/軟件的排名不分前後,其中既有Open source軟件,也有商業產品。對於前者,我將提供下載地址,對於後者,我將盡可能提供相關信息的參考網址。     
  4. 這份清單並不是static的,所列工具/軟件也遠非保羅萬象,若是你有好的建議和想法,也能夠提供。若有必要,我會對該清單做按期更新^_^

 

開發環境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的支持。從http://www.cygwin.com能夠找到有關Cygwin的詳細信息。
Dev-c++ Windows平臺下,一個相似VC、BCB的c++ IDE開發環境,屬於共享軟件。界面親切優雅,size也不大,其4.9.x版有中文語言支持,無需漢化。編譯器基於gcc,徹底支持STL。可是對於規模較大的軟件項目,恐怕難以勝任。能夠從:http://www.bloodshed.net/dev/devcpp.html找到有關Dev-c++的有關信息。
Source Insight 有着和Dev c++同樣漂亮的界面,提供代碼的編輯和察看功能,具備豐富的語法加亮功能,能夠像VC同樣自動彈出成員函數的提示,並具備快速方便的函數跳轉功能(可是跳轉速度彷佛有點慢)。只是默認設置不適合時,須要仔細的調整和修改。沒法查找經typedef以後的名字。

 

輔助程序員

 

Visual Assist VC IDE環境下的輔助編程工具,能識別各類關鍵字、函數、成員變量,自動給出tip,並自動更正大小寫錯誤,標示拼寫錯誤等。是VC開發的良好伴侶。
Understand for C++ 一款c/c++IDE編程的輔助工具,支持反向工程,代碼導向和一些統計功能,從http://www.scitools.com能夠找到有關Understand for C++的詳細信息。

 

程序編輯器數據庫

 

EditPlus 一款很不錯的文本編輯軟件,功能強大卻又十分輕巧。支持不一樣語言的語法加亮,還有Project組織功能,具備豐富的自定義功能。經過設置User Tool,能夠和其餘語言編譯器結合,造成一個簡單的IDE。
Ultra Edit 功能和EditPlus至關,經過腳本文件提供的配置功能能夠定製編輯環境,但自6.0版之後一直沒多大變化,就編程而言,自定義設置沒有EditPlus方便。
EMACS 公認的世界上功能最多,最複雜的文本編輯器,其實也能夠看成程序員用的編輯器。
Visual Slick Edit 一個功能強大的程序員用編輯器。最值得一提的是其定製功能,很好用,能夠和EMACS相比。自帶了一套PCODE解釋器,用c的語法,還能夠掛接動態庫。配合mingw一塊兒使用很方便。從http://www.slickedit.com能夠找到有關SlickEdit的詳細信息。
IQEdit 全功能的程序員用編輯器,界面很漂亮,從http://pwksoftware.com能夠找到有關IQEdit的詳細信息。

 

UML/建模apache

 

Rational Rose 強大的建模工具,早已"家喻戶曉",功過天然沒必要多加評說了。從http://www.rationalsoftware.com.cn能夠找到有關Rational Rose的詳細信息。
Visual Modeler MS Visual Studio 6.0所附的小工具。屬於Rational和MicroSoft合做的戰略產品,是Rose的簡化版。
Visio Microsoft的建模工具,感受更人性化一些,但功能沒有Rose多、強、專,支持正向的代碼生成,以及對代碼的反向工程。
Together 另外一款功能強大的建模工具,用java編寫而成,口碑不錯,不過速度稍稍慢了一些。從http://www.togethersoft.com能夠找到有關Togather的詳細信息,另外,如下網址提供了一個有關Together的教程:
http://www.cc.puv.fi/~tka/kurssit/Tietojarjestelmien_suunnittelu/together/TCCGuide6
Visual UML 支持多種語言類型,好比:VC、VB、DELPHI、CORBA IDL等,能夠直接從UML設計圖生成代碼,簡單易用,徹底適合Personal use,界面也很清爽。從http://www.visualObject.com能夠找到有關Visual UML的詳細信息。
SmartDraw 通用圖表製做軟件,能夠用來製做組織機構圖、流程圖、統計圖表等。隨帶有圖庫,基本知足製做各種圖表的須要。從http://www.smartdraw.com能夠找到有關SmartDraw的詳細信息。
PlayCase 國產面向對象的建模軟件,兼容UML和IDEF,輕量級軟件,只是界面看起來有點簡樸,乃是高展先生用Delphi完成的。

 

版本控制編程

 

ClearCase Rational的版本控制管理軟件,功能強大,能夠控制多種類型的文檔,甚至包括Word、Excel、PowerPoint文檔。但使用複雜,不易上手,且不是免費軟件。
CVS 爲基於Web的分佈式協同開發提供了版本控制管理手段,且是免費軟件,能夠經過腳本定製功能。但在權限控制方面功能相對較弱。
VSS 微軟的版本控制管理工具,功能相對簡單,適合於小型團隊開發,將其整合到微軟的其餘開發工具中,使用起來十分方便。
SourceOffSite 微軟爲開發人員提供的遠程訪問VSS數據庫的工具,使數據庫得以遠程更新,以支持遠程辦公。


其餘的版本管理工具還包括:PVCS、VCS、RCS等。c#

 

XML框架

 

expat 用於讀取和處理XML文檔的c函數庫,最初是James Clark的我的做品,簡單輕巧,且速度快。但支持的編碼方式有限,最遺憾的是不支持中文。從http://expat.sourceforge.net能夠找到有關expat的詳細信息。
xml4c IBM的XML Parser,用c++語言寫就,功能超級強大。號稱支持多達100種字符編碼,可以支持中文,適合於大規模的xml應用。若只是很小範圍的應用,則非最佳選擇,畢竟,你須要"揹負"約12M左右的dll的沉重負擔。從http://www.alphaworks.ibm.com/tech/xml4c能夠找到有關xml4c的詳細信息。
Xerces c++ Apache的XML項目,一樣是c++實現,來源於IBM的xml4c,所以編程接口也是和xml4c一致的。可是目前只支持少數的字符編碼,如ASCII,UTF-8,UTF-16等,不能處理包含中文字符的XML文檔。從http://xml.apache.org/xerces-c能夠找到有關Xerces c++的詳細信息。

 

測試編輯器

 

CppUnit 一個c++的單元測試框架,能夠經過派生測試類的方式,定製具體的測試方案。xUnit家族的一員,從JUnit移植而來,JUnit是Java語言的單元測試框架。從http://cppuint.sourceforge.net能夠找到有關CppUint的詳細信息。
Rational ROBOT Rational的自動化測試工具,經過編寫腳本的方式提供自動化測試特性。其GUI方式的腳本錄製功能,有助於對GUI軟件進行功能測試;其VU方式的腳本錄製功能,有助於測試某些軟件的數據通信功能。
Rational Purify 一樣是Rational的自動化測試工具,不須要被測程序的源代碼,能夠用來檢查內存訪問錯誤、Windows API調用錯誤等,以完成軟件的可靠性測試,屬於白盒測試。


其餘的Rational測試工具還包括:TestFactory、PureCoverage、TestManager等。

 

日誌

 

log4cpp 一個用於日誌記錄的c++函數庫,能夠將內容以定製的方式記錄到不一樣的目的地,好比:文件、控制檯、syslog等,同時還能夠經過控制記錄級別來屏蔽掉某些無關記錄。從http://log4cpp.sourceforge.net能夠找到有關log4cpp的詳細信息。

 

註釋

 

Doc++ 註釋文檔生成工具,根據源程序中的文檔註釋,能夠輸出TeX和HTML格式的文檔。除了支持c/c++語言外,還支持IDL和java。僅提供命令行使用方式。從http://docpp.sourceforge.net能夠找到有關Doc++的詳細信息。
Doxygen 註釋文檔生成工具,較之Doc++功能更爲齊全,能夠生成包括HTML、PDF、RTF在內的多種格式的文檔,並有GUI界面,除了支持c/c++語言外,還支持IDL、java、PHP、c#等。從http://www.stack.nl/~dimitri/doxygen能夠找到有關Doxygen的詳細信息。
相關文章
相關標籤/搜索