台灣最大程式設計社群網站
線上人數
2350
 
會員總數:245979
討論主題:189557
歡迎您免費加入會員
討論區列表 >> Linux / Unix >> Linux系統編程學習路線參考
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Linux系統編程學習路線參考
價值 : 10 QP  點閱數:1634 回應數:1
樓主

andyko
門外漢
0 51
156 0
發送站內信

首先先學學編輯器,vim, emacs 什麽的都行。

  然後學 make file 文件,只要知道壹點就行,這樣就可以準備編程序了。

  然後看看《C 程序設計語言》K&R,這樣呢,基本上就可以進行壹般的編程了,順便找本數據結構的書來

  看。

  如果想學習 UNIX/LINUX 的編程,《APUE》絕對經典的教材,加深壹下功底,學習《UNP》的第二卷。這

  樣基本上系統方面的就可以掌握了。

  然後再看 Douglus E. Comer 的《用 TCP/IP 進行網際互連》第壹卷,學習壹下網絡的知識,再看《UNP》的第壹卷,不僅學習網絡編程,而且對系統編程的壹些常用的技巧就很熟悉了,如果繼續網絡編程,建議《TCP/IP

  進行網際互連》的第三卷,堶惘釩雃h關於應用協議 telnet、ftp 等協議的編程。

  如果想寫設備驅動程序,首先您的系統編程的接口比如文件、IPC 等必須要熟知了,再學習《LDD》2。

  對於幾本經典教材的評價:

  《The C Programing Language》K&R 經典的 C 語言程序設計教材,作者是 C 語言的發明者,教材內容深入淺出。雖然有點老,但是必備的壹本手冊,現在有時候我還常翻翻。篇幅比較小,但是每看壹遍,就有壹遍的收

  獲。另外也可用譚浩強的《C 語言程序設計》代替。

  《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常經典的書(廢話,Stevens 的書哪有不經典的!),雖然初學者就可以看,但是事實上它是《Unix Network Programing》的壹本輔助資料。國內的翻譯的《UNIX 環境高級編程》的水平不怎麽樣,現在有影印版,直接讀英文比讀中文來得容易。

  《Unix Network Programing》W.Richard Stevens:第壹卷講 BSD Socket 網絡編程接口和另外壹種網絡編程接口的,不過現在壹般都用 BSD Socket,所以這本書只要看大約壹半多就可以了。第二卷沒有設計到網絡的東西,主要講進程間通訊和 Posix 線程。所以看了《APUE》以後,就可以看它了,基本上系統的東西就由《APUE》和《UNP》vol2 概括了。看過《UNP》以後,您就會知道系統編程的絕大部分編程技巧,即使卷壹是講網絡編程

  的。國內是清華翻譯得《Unix 網絡編程》,翻譯者得功底也比較高,翻譯地比較好。所以建議還是看中文版。

  《TCP/IP 祥解》壹共三卷,卷壹講協議,卷二講實現,卷三講編程應用。我沒有怎麽看過。,但是據說也很

  經典的,因為我沒有時間看卷二,所以不便評價。

  《用 TCP/IP 進行網際互連》Douglus.E.Comer 壹共三卷,卷壹講原理,卷二講實現,卷三講高級協議。感覺

  上這壹套要比 Stevens 的那壹套要好,就連 Stevens 也不得不承認它的第壹卷非常經典。事實上,第壹卷即使妳沒有壹點網絡的知識,看完以後也會對網絡的來龍去脈了如指掌。第壹卷中還有很多習題也設計得經典和實用,因為作者本身就是壹位教師,並且卷壹是國外研究生的教材。習題並沒有答案,留給讀者思考,因為問題得答案可以讓妳成為壹個中級的 Hacker,這些問題的答案可以象 Douglus 索取,不過只有他只給教師卷二我沒有怎麽看,卷三可以作為參考手冊,其中地例子也很經典。如果您看過 Qterm 的源代碼,就會知道 Qterm 的 telnet 實現部分大多數就是從這本書的源代碼過來的。對於網絡原理的書,我推薦它,而不是 Stevens 的《TCP/IP 祥解》。

  《Operating System - Design and Implement》這個是講操作系統的書,用 Minix 做的例子。作者母語不是英文,所以英文看起來比較晦澀。國內翻譯的是《操作系統 設計與實現》,我沒看過中文版,因為翻譯者是尤晉

  元,他翻譯的《APUE》已經讓我失望頭頂了。讀了這本書,對操作系統的底層怎麽工作的就會

  有壹個清晰的認識。

  《Linux Device Driver》2e ,為數不多的關於 Linux 設備驅動程序的好書。不過內容有些雜亂,如果您沒有壹些寫驅動的經驗,初次看會有些摸不著南北。國內翻譯的是《Linux 設備驅動程序》第二版,第壹版,第二版的譯者我都有很深的接觸,不過總體上來說,雖然第二版翻譯的有些不盡人意,但是相比第壹版來說已經超出了壹大截。要讀這壹本書,至少應該先找壹些《計算機原理》《計算機體系結構》的書來馬馬虎虎讀讀,至少應該對硬件和計算機的工作過程有壹些了解。

本篇文章發表於2010-10-15 15:53
== 簽名檔 ==
www.51-pass.com
1樓
www.51-pass.com
www.51-pass.com
www.51-pass.com
www.51-pass.com
www.51-pass.com
www.51-pass.com
www.51-pass.com
本篇文章回覆於2010-10-15 15:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.