精華區beta C_and_CPP 關於我們 聯絡資訊
推薦書目名稱或網址 原文第二版:http://shop.oreilly.com/product/0636920033677.do 中譯第一版:http://books.gotop.com.tw/v_A360 適合閱讀此書或網站的程度/對象 有基礎的 C 語言和 Unix-like 系統知識的讀者 簡介 我要先提醒這本書的準讀者,這不定一本典型的 C 語言教科書。例如:在這本書中,作 者會教你把常用的標頭檔都集中寫在某個檔案中,即使程式因此多加了幾千行,編譯時間 也花不到幾秒;另外,本書作者每次在編譯程式時,都會加上 -g 參數,其實程式也沒增 加幾 KB,但是卻多了許多除錯用的資訊。另外,本書中約有三分之一的篇幅是在討論 C 語言的語法以外的內容,主要是介紹 C 語言的生態圈,這些內容在典型的教科書中相對 少見。 本書的前言介紹了一些 C 語言的背景知識,以及作者對於本書的一些想法,可以稍微看 一下。之後,本書的正文分為兩部分,第一部分是環境,介紹現代的 C 語言相關工具; 第二部分是語言,以和一般教科書不同的角度,探討許多 C 語言的語法。 在第一章中,快速地介紹了許多 Unix-like 系統上的套件,之後主要是討論各種編譯 C 語言軟體的技巧,畢竟,無法順利産生執行檔的話,就無法使用 C 程式碼。對於新手來 說,本章的步調可能會有些過快,至少先習慣 make 的使用方式和 Makefile 的寫法。 第二章介紹開發相關的議題,包括除錯、測試程式、撰寫文件等。第三章中,以 Autotools 發布以 C 語言撰寫的軟體。這兩章對於有志學習開發相關工具的讀者來說, 可以做為入門的教程。 第四章以 Git 為例,介紹版本控制的基本觀念。透過這章的內容,可學會基本的版本控 制軟體的使用。這章算是相對簡單的主題。 第五章以 Python 為例,介紹如何以C 語言撰寫其他語言的延伸模組。這是一個相對進階 的主題,通常都散見於各語言的進階教程中,對於想結合 C 和其他語言的讀者,可以讀 一讀本章的內容。 第六章帶著讀者複習了指標的概念。由於指標是學習 C 語言的重要主題,本書在第二部 分的第一個章節就介紹相關內容。而在本書後續的章節中,也會用到指標,對於指標還不 熟的讀者,可以利用機會好好學習一下。 第七章介紹一些過時的 C 語法,以及替代的做法。本章的內容不會很難,但是可學到不 少實用的概念。 第八章介紹一些前置處理器的使用技巧及 const 關鍵字的相關議題。雖然前置處理器的 雷很多,仍然有時候會需要使用。這些議題在一般的書上相對少見,需要的讀者可以看一 看。 第九章介紹以 C 語言處理字串的方式。由於在 C 語言中,原本的字串處理方式相對較低 階,故作者引入一些較新的方式,以減輕程式設計師的負擔。 第十章的前半部介紹以 array 和 struct 為參數的函式,其中使用到一些相對少見的前置 處理器技巧,如果有需要撰寫此種函式的讀者,可以看一看。後半部則介紹以 void 指標 達成 C 語言的泛型程式,算是相當實用的內容。 第十一章介紹如何以 C 語言撰寫物件導向程式,這是本書最有趣的一章。不過,C 語言 的物件導向程式,和傳統的物件導向不太相同,而是使用 struct 和函式結合的方式撰寫 。雖然這章的內容不一定會用到,善用本章的方式撰寫程式,的確可以妥善地整理程式碼 第十二章介紹數個第三方的 C 語言函式庫,有需要的讀者可自行參考。不過,本章隱含 的觀點是,善用第三方函式庫,可以省下不少程式設計師的時間。 讀後心得 總和來說,本書涵蓋相當多的主題,而且,本書的步調相當快速,讀起來十分地充實。然 而,想要順利地閱讀本書,讀者需要基礎的 C 語言和 Unix-like 系統相關的知識;如果 讀者發現本書的內容過於艱澀,建議先暫時放下本書,補充相關知識後,再繼續讀下去。 補充說明(Supplement): 本書的作者 Ben Klemens 主修的是經濟學和社會科學,所以,對於程式的思考方式和資 訊出身的程式設計師有所不同,讀者不用對這本書的內容照單全收,但這本書的確有可參 考之處。 另外,C/C++ 不是小弟主力的語言。小弟平日較常寫 Perl/Python/Ruby。 如果本文有錯誤之處,希望板上各位大大不吝指正。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.140.68 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1461433204.A.FF6.html
wtchen: 推,感覺是很適合板工的書... 04/24 18:48
Soyeonismine: 推 04/25 00:44
weareworld: 這本不錯 提供C語言在現代的工具、思維等 05/05 01:02