Linux(ubnutu)下編寫運行c,c++程序的方法gcc+gdb(圖示)


回憶上年大一的時候自己自學linux開始在ubuntu下寫程序的時候,由於對linux一點都不懂,走了不少彎路。現在總結一下,幫助初學者掌握如何在ubuntu中編寫運行簡單的c和c++程序,用來刷刷題練習啥的。在此不用任何集成開發環境(IDE),都是大同小異,,g++(gcc)+gdb調試器是linux下的最強組合,寫程序用的是編輯器vi或vim,(也可以用另一大神奇emacs).在windows用習慣的童鞋一開始可能不太好接受這種方式,學計算機的就要有折騰的能力。vi和emacs至少要學一個,這兩個玩意一開始可能會覺得怪異,雖然是文本編輯器,但是十分強大,用熟練之后寫代碼,改代碼效率不是蓋的,而且都有windows版的,一定要盡量掌握一個,我個人用的是vi,光vi這玩意就折騰我好長時間,不過現在沒有vi寫代碼都十分不習慣。下面以命令行說明一下,記住一些常見命令夠日常用的就行了。(我用的還是ubuntu10.04,后來的版本有點不習慣)在linux下基本可以完全脫離鼠標了,vi的設計哲學基本上就是完全脫離鼠標。(在IDE下來回切換鍵盤鼠標是很慢的,不用vi你永遠不知道文本編輯器能提升多少效率,在vi寫代碼能提速很多,但是一旦用習慣了vi,沒了它就有點抓狂了,發現現在用其它IDE的文本編輯器效率反而降低了。不過vi一開始學起來是有點難度的,學習曲線比較詭異,一定要堅持下來,你絕對不會后悔。雖然一開始是打算用來裝B的,但是我發現裝着裝着就沒辦法離開它了。)個人用了notepad++,UltraEdit等這些較優秀的文本編輯器后,發現還是vi最強,沒有之一。

步入正題:

先打開終端terminal(快捷鍵Ctrl+Shift+T),輸入sudo apt-get install vim安裝vim編輯器(忘了是不是默認已經安裝了),然后輸入apt-get install build-essential安裝gcc/g++/gdb/make 等基本編程工具。(要輸入管理員密碼)。接下來就要開始編程了。然后ls顯示當前有目錄有哪些文件,顯示的我的主目錄,現在用mkdir命令建立一個新文件夾test用來演示。

用cd test切換到當前test目錄,然后用命令輸入vi test.cpp回車,界面轉到vi界面,開始寫代碼。(也用別的文本編輯器)關於vi的c語言縮進,語法高亮,顯示行號,折疊神馬的自己折騰一下vi吧,需要配置一下自己的.vimrc文件。寫完后:wq退出。

之后回到終端(要是麻煩可以多開一個終端,一個看代碼,一個用來編譯,執行啥的,只需要用vi的命令:w寫入,然后打開另一個終端切換到相同目錄執行后面的命令。我平常就是這么干)。這時執行g++ test.cpp就行了,然后ls就會發現多了一個文件a.out。(關於g++或gcc的編譯選項可以參考網上一些資料或者下載gcc文檔)默認是生成a.out文件。這時輸入./a.out回車就可以運行剛才寫的程序了.(./代表當前文件夾)

可以看到輸入兩個數給出了它們的和。linux下ctrl+d代表eof。

如果想要輸入文件有很多數據輸入,例如做題時輸入很多數據,除了讀文件外,還可以重定向,在當前文件夾用vi in.txt建立輸入文件in.txt

 

保存后退出,然后利用重定向符號<,把文件數據重定向到程序輸入,可以得到程序執行的結果。

然后是怎么用gdb調試,調試的話必須要在用g++或者gcc(gcc默認不連接數學庫需要<math.h>時,用-lm編譯選項連接)加入編譯選項-g,就是用命令g++ -g test.cpp編譯后,用gdb a.out執行。可以看到gdb的版本信息。

此時就可以開始調試了。關於gdb的詳細使用還是讀者自己參考網上資料或者下載gdb使用手冊,只需要一些常用命令就可以滿足基本的調試需求。在這里只是入門的簡介,關於這些工具具體使用還是需要參考一些文檔資料及手冊(gcc,vi,gdb均有詳細的手冊),熟練使用需要經過一定的練習。當初入門的時候全靠自己,很多東西都摸不着頭腦,現在來看倒是很簡單。寫下來希望幫助一些剛入門摸不着頭腦的童鞋。

http://pan.baidu.com/share/link?shareid=548114&uk=3239809682

這是我的網盤地址,文件里有六個文件,linux下的vi, gcc, gdb, make, emacs中文手冊。打包分享。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM