工欲善其事,必先利其器。學習編程語言也一樣,首先得搭建好編程學習環境。任何一門語言的學習之初,都應該搭建好環境且准備好學習文檔,在遇到任何問題時能夠及時查詢文檔,在不斷的遇到問題、解決問題、遇到問題、解決問題中成長。當然,這也是一個經驗積累的過程。
明年這個時候就該找工作了,於是打算學一下C++,首先想到的是要搭建編程環境及准備好C++幫助文檔。我所使用的系統為Ubuntu,編程環境包括:gcc、g++、make,分別通過apt-get install安裝即可。或者直接安裝build-essential,它包含了一整套的工具。
安裝語句如下:
apt-get install gcc
apt-get install g++
apt-get install make
第二部就是要准備C++幫助文檔。GNU GCC 提供了一份 C++ 標准庫的文檔,可以在http://gcc.gnu.org/mirrors.html中下載。具體的路徑是: libstdc++/doxygen/libstdc++-man-xxxxxx.tar.bz2,可找一個最新日期的下載。展開包之後將 man/man3 中的所有文件拷貝到系統上已經存在的一個 man/man3 目錄中即可使用。如下語句所示:
tar xvf libstdc++-man.20111215.tar.bz2
cp -rf ./man3/* /usr/share/man/man3/
這樣,C++的編程環境和幫助文檔就安裝好了。下面就可以開始C++語言Hello World的編寫了。
C++語言的編譯推薦使用Makefile進行編譯。當然單個文件的編譯可以g++ --help查看。假設有一個類A,其源文件為a.h和a.cpp以及一個調用A的main.cpp文件。首先應該對每一個Cpp文件進行單獨編譯,然後在鏈接為可執行文件。
g++ -c a.cpp // 生成a.o
g++ main.cpp a.o //生成可執行文件a.out
采用對每一個Cpp文件進行編譯的方式在文件量比較少時還可以手動完成,當一個工程代碼量逐漸變大,文件數目逐漸變多時,再這樣手動完成編譯或許就不那麼容易了。好在Linux下有一個強大的make工具,能夠協助程序猿完成代碼的自動編譯。下面來看一個簡單的Makefile例子。Makefile文件應該和程序源文件在同一個目錄。
這樣僅需要在源程序的當前目錄下執行make命令,就能夠自動生成可執行文件代碼main
以上Makefile文件所涉及的cpp源文件包括item_base.h、item_base.cpp、bulk_item.h、bulk_item.cpp和main.cpp文件,是C++ Primer裡面的一個小例子。其關系是item_base是一個類,而bulk_item是item_base的派生類。main.cpp為一個包含main方法的cpp文件,表示程序的入口。