引言
盡管 C 語言問世已近 30 年,但它的魅力仍未減退。C 語言繼續吸引著眾多的開發者,他們為了編寫、移植或維護應用程序而必須學習新技能。
本文是為了滿足對C語言初學者或想提高自身C語言修為的開發人員的需要而寫的。希望對您的學習和工作有所幫助。您也許不贊同其中的某些方法,但我們希望您會喜歡其中的一些。
本文不介紹作為一個程序員應掌握得語言細節,而是與初學者分享自己的UNIX 下C語言編程學習經驗;也不說明一個合格的編程人員應該掌握的計算機知識,比如:操作系統、數據結構與算法、數據庫等等。
不管您出於什麼目的,希望您閱讀完本文後能留下您的批評或建議。您的中肯的批評會成為作者前進的動力。
工具篇
“公欲善其事,必先利其器”。編程是一門實踐性很強的工作,在你以後的學習或工作中,你將常常會與以下工具打交道, 下面列出學習C語言編程常常用到的軟件和工具。
(一) 操作系統
在UNIX或Linux系統中學習C很方便,所以在開始您的學習旅程前請先選擇一個UNIX或Linux操作系統。
目前可供個人免費使用的UNIX或Linux系統有FreeBSD、CentOS、Ubuntu、SUSE Linux等,如果你以前沒有接觸過UNIX或Linux選擇Ubuntu還是比較好,因為它的軟件非常豐富,當然了如果你想以後一直在Linux工作學習建議選擇CentOS,而且在安裝包中還提供很多實用的工具,如: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等