引言
儘管 c 語言問世已近 30 年,但它的魅力仍未減退。c 語言繼續吸引著眾多的開發者,他們為了編寫、移植或維護應用程式而必須學習新技能。
本文是為了滿足對c語言初學者或想提高自身c語言修為的開發人員的需要而寫的。希望對您的學習和工作有所幫助。您也許不贊同其中的某些方法,但我們希望您會喜歡其中的一些。
工具篇「公欲善其事,必先利其器」。程式設計是一門實踐性很強的工作,在你以後的學習或工作中,你將常常會與以下工具打交道, 下面列出學習c語言程式設計常常用到的軟體和工具。
(一) 作業系統
在unix或linux系統中學習c很方便,所以在開始您的學習旅程前請先選擇乙個unix或linux作業系統。
目前可供個人免費使用的unix或linux系統有freebsd、redhat linux、suse linux等,而且在安裝包中還提供很多實用的工具,如:gcc, make等。
如果您一直使用windows,身邊又沒有多餘的機器安裝unix,則可以使用vmware,通過vmware安裝虛擬系統。
(二) 編譯工具
目前絕大多數unix或lnux系統都提供cc或gcc編譯器,最簡單的cc命令格式如下:
cc -o hello hello.c
在unix shell環境中敲入上面的**會將hello.c程式編譯成可執行檔案hello。
make 工具如 gnu make、system v make 和 berkeley make 是用來組織應用程式編譯過程的基本工具,但是每個 make 工具之間又有所不同。
大部分unix和linux程式都是通過執行make來編譯的。make工具會讀取乙個包含指令的檔案(這個檔案的名字通常都是 makefile 或 makefile,不過後文中我們統一稱之為 「makefile」),並執行各種操作來編譯程式
(三) 除錯工具
最簡單的除錯工具:為你的程式新增列印語句
在你對程式的執行機制有了一定的了解後,你可以實用一些工具幫助你進行除錯,當然你得學習一下這些工具得使用,如:dbx,gdb等。
還有一些記憶體工具可以幫你查詢記憶體洩漏或緩衝區溢位等一些問題,如:memwatch,yamd等
(四) 其他工具
1.vi或vim
當然在實際工作中,你可能需要乙個整合編碼環境或乙個功能強大的圖形化編輯工具。
2.netterm
最著名的網路終端軟體之一,可以使用它方便的連線到主機系統中。
3.secure shell
乙個支援ssh協議得客戶端工具,多數情況下用來連線linux系統。
書籍篇「書是人類進步得階梯」。學習一門新的知識,當然要選擇幾本適合自己得書籍,下面介紹一些我自己學習c語言使用過的書籍:
1.《c primer plus》
2.《the c programming_language》
3.《c 專家程式設計》
4.《c缺陷與陷阱》
5.《unix環境高階程式設計》
推薦理由:既然是unix環境下c程式設計,就不得不說說unix程式設計書籍。stevens先生的《unix環境高階程式設計》是我竭力推薦的,也是我的案頭必備(如果對網路程式設計有興趣的,可以學習一下stevens先生的《unix網路程式設計》兩卷,如果覺得還不過癮,可以再看看《tcp/ip詳解》三卷)。
6.《計算機程式設計藝術》
新手看招 Unix和Linux下C語言學習指南
引言儘管 c 語言問世已近 30 年,但它的魅力仍未減退。c 語言繼續吸引著眾多的開發者,他們為了編寫 移植或維護應用程式而必須學習新技能。本文是為了滿足對c語言初學者或想提高自身c語言修為的開發人員的需要而寫的。希望對您的學習和工作有所幫助。您也許不贊同其中的某些方法,但我們希望您會喜歡其中的一些...
Linux 和UNIX 的新手培訓教程
linux system administration course 通過28個課程為linux系統管理員提供了乙個全面的教程。kernel tutorials 這是在howtoforge上的乙個核心級的教程,這個教程相當不錯,如果你要了解linux的核心,你不能錯過這個教程。advanced ro...
新手看招 詳細分析Linux作業系統的記憶體
前言 在linux上不像在windows上看記憶體那樣方便,而且還有swap這個新的概念,所以知道如何來看linux記憶體還是有一定意義的.在linux下檢視記憶體我們一般用command free root nonamelinux free total used free shared buffe...