我相信作為編程初學者,我們都希望有好用的編程軟件。這里"好用"應該至少要滿足兩點:1.安裝簡單,2.使用方便。
大神移駕,對工具有特殊偏好跳過,從來不用Windows的止步。本文不做任何"推銷活動",諸君自行決斷。
前傳
記得剛學C++時,用的是老師給的一個VC6.0的安裝光盤鏡像。后來發現了一個番茄插件(Visual Assist X),用的很爽。隨后又發現,每次系統重裝(或者還原)后番茄就不能用了,不得不重新裝一遍VC6。裝了多次VC6.0(那時也經常幫同學裝)發現,VC6.0在win7上安裝有個問題——在跳出安裝進度后,你不能將鼠標點到其他窗口,或者將其他窗口切換到頂層,否則會出現"安裝程序無法響應"的現象。當時以為是老師給的那個版本才有的問題,在網上有下了其他版的VC6,發現有同樣的問題,每次下載還要擔心各種"綠色版""破解版"是不是有毒。
就在那之后不久,我在《數據結構課程設計案例精編》上看到了一篇精彩的序言(可惜沒有在網上找的該文,不然,必定轉載於此),其中的一節"應當使用什么開發環境?"簡要介紹了Visual C++系列,Borland C++ Builder,GNU C++的各自特點,並做了簡單對比。
不過,作者寫那本書也有些年頭了,里面說到的Visual C++ 最新版是2005,現在2013都已經發布了。該書在介紹基於GNU C++編譯器時,提到的Dec-C++還是那個停了很久的4.9.9.2,現在Dev-C++最新版也不再是從Blood軟件網站www.bloodshed.net上下載了,在wikipedia上能看到對它的介紹有"從 2005 年 2 月 22 日開始至2011年6月, Dev-C++ 的官方網站一直沒有再發出新消息或是釋放新版本,說明Dev-C++的開發已經進入了遲滯狀態。2006 年,Dev-C++主要開發者 Colin Laplace 曾經對此作出了解釋:"因忙於現實生活的事務,沒有時間繼續 Dev-C++ 的開發。""不過現在的Orwell Dev-C++已經跟上了:https://sourceforge.net/projects/orwelldevcpp/
該書介紹的MinGW Developer Studio也有類似的境遇:"Unfortunately MinGW Developer Studio has not been under development since 2005 and the official website has been down since 2008. The MinGW Compiler shipped with the IDE has become really outdated and working download links for MinGW Developer Studio are hard to find."
所以,雖然作者的文筆不凡,但是現在看來也沒有轉載的必要了。
Visual C++ 2008 Express
好了,廢話一堆,開始正題吧。現在的C/C++編譯器基本上是Microsoft(以下簡稱MS),Intel,GNU,LLVM這幾大門派,其中MS,Intel是收費的。在Windows上當然是微軟的一家獨大了,Intel,LLVM(Clang)都可以以插件的形式安裝到Visual Studio中。微軟Visual Studio 現在分好幾個版本,有Express,Professional,Premium,Ultimate。其中Express可以從官網免費下載、使用,對應個人學習,Express版已經足夠;Professional版現在對學生老師也是也可以免費下載,只需要通過edu域名的郵箱在DreamSpark上注冊個用戶就可以了。
我的機器上安裝了VC2008 Express,啟動速度要比Visual Studio 快很多,下載鏈接:http://msdn.microsoft.com/zh-CN/express
就調試C++代碼來說,VC是最好用的,因為它的調試功能針對STL做了優化,比如:
好處:文本編輯、編譯、調試 一條龍服務。
缺點:要"創建項目->添加文件…"(也不算是缺點)
重裝系統后就不能用了,要重新安裝(對於經常折騰自己電腦的人來說是缺點:-D)
GCC based IDE
也可以選擇幾種免費的IDE方案:
Eclipse+CDT+GCC
Eclipse本身是java軟件,所以你要使用Eclipse必須先安裝JRE或者JDK,Eclipse和JRE/JDK都可以從它們的官網免費下載(沒有安裝的同學自行百度)。Eclipse官網有多種版本的Eclipse,不過它們並無太大區別,只是安裝的插件不同罷了。如果只用它寫C/C++代碼,可以下載C/C++版(打包了CDT)。
CDT((C/C++ Development Tooling)
如果你下載的不是C/C++版的Eclipse,則要自己下載CDT。可以用Eclipse的菜單安裝:Help->Install new software。也可以到官網下載,再解壓到Eclipse根目錄。
CDT安裝后,Eclipse的file->new就能創建C++項目了。不過CDT自動掃描PATH時必須保證你的%TDM-GCC%\bin下有make程序,你可以把TDM-GCC\bin下的mingw32-make.exe復制一份為make.exe,CDT應該就能自動掃描出對應的include目錄了。
同樣調試剛才那段VC2008下的代碼:
可以看到,Eclipse的調試功能並沒有特殊對待vector。
優點:
跨平台,Eclipse可以在各種系統上運行(只要有JRE)
通用,Eclipse還可以開發java,python等等語言
缺點:
啟動慢,Eclipse是"插件式"的
有點卡,Java應用,當然沒有原生應用跑的順
Dev-C++
現在Dev-C++已經不屬於當年的Blood軟件了,你可以到sourceforge上免費下載:http://sourceforge.net/projects/orwelldevcpp/
默認是會連同TDM-GCC一同下載的。
再來調試一下:
很明顯,比Eclipse還要弱,只能看到基本的一些信息,不能展開。
優點:
輕量,一共40+M(包括TDM-GCC在內)
啟動快,軟件小肯定啟動得快了
缺點:
調試功能相對較弱(不過沒太大影響)
Code::Blocks
Code::Blocks是The open source, cross platform, free C, C++ and Fortran IDE.
盡情下載:http://www.codeblocks.org/downloads
也來調試:
很明顯Code::Blocks的Watch窗口也對STL容器做了優化。
優點:
跨平台,打的就是Cross Platform旗號
代碼提示功能較強,"誰用誰知道"
缺點:
暫時沒發現(我沒怎么用過)
DIY--Do It Yourself
我更多的時候會寫一些練習性的代碼,他們通常只有一個文件(或是很少的幾個)。在各種IDE下編譯這種代碼前,你都要先"創建項目",在一步步添加源碼文件,這總讓我不厭其煩;尤其是在一個源文件就能搞定的時候。
於是,我選擇了更輕量的方案——Tdm-gcc & Notepad++
TDM-GCC and Notepad++
更多的時候會我會用notepad++來寫一些練習性的代碼,這種代碼通常只有一個源文件,要用VC2008Express的話還是要"新建->項目->xxx",很麻煩。這時更適合用TDM-GCC & Notepad++:
TDM-GCC是GCC的windows版,官網http://tdm-gcc.tdragon.net/ ,現在的版本是GCC 4.8.1,GCC的最大好處是跨平台(當然還有免費:-D)。默認情況下,安裝好之后,PATH下能夠找到%TDM-GCC%\bin,也就是可以在cmd里使用gcc,g++命令。(安裝TDM-GCC過程中有一個默認會選中的"將TDM-GCC的bin目錄加到PATH變量"的復選框,不要取消它。如果取消了也沒關系,可以右擊"計算機"->"屬性"->"高級系統設置"->"環境變量",找到PATH,雙擊,再最后加上%TDM-GCC%\bin,%TDM-GCC%是你的實際安裝目錄)
Notepad++(以下簡稱npp)是一款開源的文本編輯器(也是免費的:-D),官網http://notepad-plus-plus.org/ ,支持語法高亮,單詞函數自動完成等功能,值得推薦。
另外npp支持快捷鍵設置,我設置了Ctrl+Shift+C為"open current dir cmd",這樣我在寫好並保存一個源文件后,就可以很方便打開控制台(Console)窗口並用gcc編譯運行了。不用再IDE上創建Project,再添加源文件,再點編譯運行神馬的。
上圖:
優點:輕量(下載快),Notepad++不到6M,TDM-GCC 64位的也不到40M
方便,打開就能寫代碼(不必新建xxx,再建xxx)
重裝后還能用,(安裝的時候有個選項,"Don't use %AppData%"建議勾選,勾選后你的設置會保存到安裝目錄)當然,前提是你不要安裝到C盤
設置靈活,插件眾多
(這一方案也是我的最愛)
缺點:命令行編譯(也不能算缺點)
Vim & gcc
據說vim是一款"神的編輯器",我抱着試試看的心態裝了一個:
個人認為vim的好處是——可以在只有命令行環境的情況下工作,比如ubuntu server。
當然,還有跨平台!
還有就是配置和插件。
我也下了emacs,沒怎么用,想用的同學可以參考http://wangheng.org/html/emacs.html
由於用過一段時間的vim,一時不能習慣emacs那么多快捷鍵,不過emacs的配置lisp語言,要比vim的配置腳本強大很多
npp也好,vim也罷,不管怎么說,它們只是編輯器
其他免費軟件
當年的Borland C++ Builder,也改旗易幟了。他們的IDE產品是收費的,但編譯器(console only)可以免費下載(freecommandLinetools.exe)
好了,今天的節目就到這里,下次節目再會!