Linux 下的 C 編程有哪些值得推薦的好書?

尤其對於做騰訊後台研發。


哈哈,最近答薦書貼簡直停不下來啊~

關於Linux編程

UNIX環境高級編程

作者: [美] W·Richard Stevens / Stephen A·Rago

出版社: 人民郵電出版社

副標題: 第2版

譯者: 尤晉元 / 張亞英 / 戚正偉

出版年: 2006年

點評: 本書在保持了前一版風格的基礎上,根據最新的標準對內容進行了修訂和增補,反映了最新的技術發展。書中除了介紹UNIX文件和目錄、標準I/O庫、系統數據文件和信息、進程環境、進程式控制制、進程關係、信號、線程、線程式控制制、守護進程、各種I/O、進程間通信、網路IPC、偽終端等方面的內容,還在此基礎上介紹了多個應用示例,包括如何創建資料庫函數庫以及如何與網路印表機通信等。此外,還在附錄中給出了函數原型和部分習題的答案。

UNIX網路編程

作者: [德] 史蒂文斯 / [英] 芬納 / 魯道夫

出版社: 清華大學出版社

副標題: 第1卷:套介面API(第3版)

原作名: Unix Network Programming

譯者: 楊繼張

出版年: 2006-1

點評: 《UNIX網路編程》(第1卷)(套介面API第3版)內容詳盡且具權威性,幾乎每章都提供精選的習題,是計算機和網路專業高年級本科生和研究生的首選教材,《UNIX網路編程》(第1卷)(套介面API第3版)也可作為網路研究和開發人員的自學教材和參考書。

深入理解計算機系統

作者: [美] Randal E·Bryant / David O"Hallaron

出版社: 機械工業出版社

原作名: Computer Systems: A Programmer"s Perspective

譯者: 龔奕利 / 雷迎春

出版年: 2011-1-1

點評: 本書的最大優點是為程序員描述計算機系統的實現細節,幫助其在大腦中構造一個層次型的計算機系統,從最底層的數據在內存中的表示到流水線指令的構成,到虛擬存儲器,到編譯系統,到動態載入庫,到最後的用戶態應用。通過掌握程序是如何映射到系統上,以及程序是如何執行的,讀者能夠更好地理解程序的行為為什麼是這樣的,以及效率低下是如何造成的。

本書適合那些想要寫出更快、更可靠程序的程序員閱讀,也適合作為高等院校計算機及相關專業本科生、研究生的教材。

Linux環境編程:從應用到內核

作者: 高峰

出版社: 機械工業出版社

出版年: 2015-6-14

點評: 本書將從一個全新的角度帶領讀者重新進入Linux環境編程,從應用出發,深入內核源碼,研究Linux各介面的工作機制和原理,讓讀者不僅知其然,還知其所以然。作為Linux開發工程師,如果不僅掌握Linux的應用層開發,同時還熟悉Linux的內核源碼,那麼其在Linux環境下設計開發任何產品都將遊刃有餘,穩定且高效。

TCP/IP詳解三卷

作者: [美] W·Richard Stevens

出版社: 機械工業出版社

原作名: TCP/IP ILLustrated Volume 1: The Protocols

譯者: 范建華

出版年: 2000-4-1

點評: 《TCP/IP詳解卷1:協議》是一本完整而詳細的TCP/IP協議指南。描述了屬於每一層的各個協議以及它們如何在不同操作系統中運行。作者W.Richard Stevens用Lawrence Berkeley實驗室的tcpdump程序來捕獲不同操作系統和TCP/IP實現之間傳輸的不同分組。對tcpdump輸出的研究可以幫助理解不同協議如何工作。 《TCP/IP詳解卷1:協議》適合作為計算機專業學生學習網路的教材和教師參考書。也適用於研究網路的技術人員。

《TCP/IP詳解·卷2:實現》完整而詳細地介紹了TCP/IP協議是如何實現的。書中給出了約500個圖例,15000行實際操作的C代碼,採用舉例教學的方法幫助你掌握TCP/IP實現。《TCP/IP詳解·卷2:實現》不僅說明了插口API和協議族的關係以及主機實現與路由器實現的差別。還介紹了4.4BSD-Lite版的新的特點。《TCP/IP詳解·卷2:實現》適用於希望理解TCP/IP協議如何實現的人,包括編寫網路應用程序的程序員以及利用TCP/IP維護計算機網路的系統管理員。

《TCP.IP詳解(卷3):CP事務協議.HP.P和UIX域協議》是「TCP/IP詳解系列」的延續。主要內容包括:TCP事務協議,即T/TCP,這是對TCP的擴展,使客戶-伺服器事務更快、更高效和更可靠;TCP/IP應用,主要是HTTP和NNTP;UNIX域協議,這些協議提供了進程之間通信的一種手段。當客戶與伺服器進程在同一台主機上時,UNIX域協議通常要比TCP/IP快一倍。《CP.IP詳解(卷3):CP事務協議.HP.P和UIX域協議》同樣採用了大量的實例和實現細節,並參考引用了卷2中的大量源程序。適用於希望理解TCP/IP如何工作的人,包括編寫網路應用程序的程序員以及利用TCP/IP維護計算機網路的系統管理員。

萬一你沒有C語言基礎

計算機科學導論

作者: [美] 貝赫魯茲·佛羅贊

出版社: 機械工業出版社

副標題: 原書第3版

原作名: Foundation of Computer Science Third Edition

譯者: 劉哲雨 / 劉藝

出版年: 2015-8-1

點評: 這本書通俗易懂,知識面廣,但又具有一定的深度。在不涉及太多的數學原理的情況下,這本書清晰的揭示了包括計算機的基本構成,CPU運算的原理,內存、硬碟、光碟是如何存儲數據的,編程的基本原理(機器語言、彙編語言,結構化編程語言,面向對象編程語言),以及網路、數據壓縮等。說白了,就是一本科普書。但是是一本偉大的科普書。入門者的福音書。

明解C語言

作者: [日] 柴田望洋

出版社: 人民郵電出版社

譯者: 管傑 / 羅勇

出版年: 2013-5

點評:《明解C語言》圖文並茂,示例豐富,設有190段代碼和164幅圖表,對C語言的基礎知識進行了徹底剖析,內容涉及數組、函數、指針、文件操作等。對於C語言語法以及一些難以理解的概念,均以精心繪製的示意圖,清晰、通俗地進行講解。

C語言編程:一本全面的C語言入門教程(第三版)

作者: [美] Stephen Kochan

出版社: 電子社博文視點資訊有限公司

副標題: 本書是極負盛名的C語言入門經典教材,其第一版發行至今已有二十年的歷史 !

譯者: 張小潘

出版年: 2006年

點評:本書是極負盛名的C語言入門經典教材,其第一版發行至今已有20年的歷史。本書內容詳實全面,由淺入深,示例豐富,並在每個章節後面附有部分習題,非常適合讀者自學使用。除此之外,《C語言編程》一書對於C語言標準的最新進展、C語言常見開發工具以及管理C語言大型項目等重要方面,也進行了深入淺出的說明。

C標準庫

作者: [美] P·J·Plauger

出版社: 人民郵電出版社

副標題: C標準庫「聖經」

譯者: 盧紅星 / 徐明亮 / 霍建同

出版年: 2009-7

點評: 本書結合C標準的相關部分,精闢地講述了每一個庫函數的使用方法和實現細節,而這正是一個真正的C程序員所必須掌握的。更重要的是,書中給出了實現和測試這些函數的完整源代碼,可以讓你更深入地學習C語言。不僅如此,本書還討論了一些即使是最有經驗的C程序員通常也不熟悉的知識,比如國際化和獨立於區域設置的程序的編寫、與構建庫相關的概念和設計思想。


你想更深入了解學習Linux知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:

【超全整理】《Linux雲計算從入門到精通》系列實戰筆記全放送


unix環境高級編程,unix網路編程, tcp/ip詳解,深入理解計算機系統,這些書都需要認真去讀,不要求快,要求學習質量。


《Linux c 編程一站式學習》,雖然是培訓教材,但是深入了C語言本質,不僅講語言本身,還講操作系統,計算機組成原理,彙編,編譯原理,我也看過KR之類的經典書籍,但是這本是我見過最好的書。


unix環境高級編程,unix網路編程, tcp/ip詳解,深入理解計算機系統,unix編程藝術,這些都是公認的很經典的書籍,另外我還推薦一本&<&>,這是一本教你怎麼用C介面的思維來編程,另外可以看看這個歸納,整理的比較全面,一個合格的程序員應該讀過哪些書


C 專家編程; KR; C 介面與實現;Stevens的所有書;深入理解計算機系統也不錯


Linux Programming by Example: The Fundamentals

The Linux Programming Interface: A Linux and UNIX System Programming Handbook

How Linux Works: What Every Superuser Should Know


unix c 環境高級編程


第一名 UNIX系統編程

第二名 Linux/UNIX系統編程手冊

第三名 APUE

很多人都是知道 APUE 和TLPI,卻並不知道第一本也是好書,好在它不是字典,而是通過大量的片段教你寫代碼。


《Linux程序設計》第三版和第四版我都買了。初學者非常適合


覺得很有必要認真讀讀:

Unix環境高級編程;

Unix網路編程 上下冊;


假設你現在會C。Linux編程過去是《APUE》,....,《UNP》等,現在是《APUE》,....,《UNP》加上一本《Linux/UNIX系統編程手冊》。目前後者在讀,通俗易懂,不乏深度。


我的觀點一直是,程序設計類的書大致看下就可以了,然後要儘快開始實踐做點東西,東西的大小不要緊,碰到不懂的拿書當手冊用即可,所謂要把APUE之類的厚磚從頭到尾都看完是不現實的也是沒啥必要的。個人觀點,僅供參考。


如果是入門Linux下的應用開發的話,我推薦《Linux/UNIX系統編程手冊》,這本書寫得比APUE更通俗易懂,涵蓋的知識面比《Linux程序設計》要廣,常式也非常豐富。


Linux經典作品,《Linux高級程序設計》 第3版,京東卓越有售,中文繁體簡體版本都有,還有配套視頻資源linux高級程序設計 。適合初中級編程學習。


上帝想學unix於是把一位天才帶走了,這位天才走之前在凡間留下各種寶典和秘笈。。。


linux程序設計 第四版 挺不錯的


其實c入門不是很難,關鍵在於如何理解的深刻。

第一步,

《計算機是如何跑起來的》

日本作者

第二步,

《程序是如何跑起來的》

與上一本是同一個作者

第三步,

得指針者的天下。

《深入理解c指針》

建議對c或c++有了解的人群

網上都有PDF版。如果搜不到我可以分享一下~


linux c

apue

深入理解計算機系統

正準備買 unix編程手冊


你要先讀懂你現有的項目的源代碼,再去看其它書。


正在讀《linux程序設計》,感覺很好


推薦閱讀:

Android Studio如何調試Framework層的代碼?
為什麼 Linus Torvalds 用 Fedora 而不用 Ubuntu 或 Windows?
Linux 下進行 PHP 開發,相比 Windows 環境有哪些好處?
代碼使用std::thread,使用-static -lpthread靜態編譯後,運行段錯誤的問題?
C語言中在一個函數中定義另一個函數是否可編譯並運行?

TAG:書籍推薦 | Linux | C編程語言 |