歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C++編程學習環境搭建

工欲善其事,必先利其器。學習編程語言也一樣,首先得搭建好編程學習環境。任何一門語言的學習之初,都應該搭建好環境且准備好學習文檔,在遇到任何問題時能夠及時查詢文檔,在不斷的遇到問題、解決問題、遇到問題、解決問題中成長。當然,這也是一個經驗積累的過程。

明年這個時候就該找工作了,於是打算學一下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文件應該和程序源文件在同一個目錄。

  1. CC = g++  
  2. CPPFLAGS = -g -Wall  
  3. OBJS = main.o \  
  4.        item_base.o \  
  5.        bulk_item.o  
  6.   
  7. all : main  
  8. # 無視all文件存在與否,按正常的makefile語法解析   
  9. .PHONY : all  
  10.   
  11. # 使用所有的*.o文件生成可執行文件 $@表示main,$^表示$(OBJS)   
  12. main : $(OBJS)  
  13.     $(CC) -o $@ $^   
  14.   
  15. # 於任何.o為擴展名的文件相匹配,並且這些文件總是依賴於.cpp的文件   
  16. .cpp.o:  
  17.     $(CC) -c -o $@ $^ $(CPPFLAGS)  
  18.   
  19. clean:  
  20.     rm -rf *.o  
  21.     rm main  

這樣僅需要在源程序的當前目錄下執行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文件,表示程序的入口。

Copyright © Linux教程網 All Rights Reserved