Linux高級(jí)程序設(shè)計(jì)

出版時(shí)間:2009-10  出版社:人民郵電出版社  作者:楊宗德,鄧玉春 編著  頁數(shù):432  字?jǐn)?shù):660000  
Tag標(biāo)簽:無  

前言

  《Linux高級(jí)程序設(shè)計(jì)》一書主要介紹Linux應(yīng)用層程序開發(fā)中所涉及的系統(tǒng)調(diào)用,主要包括文件管理。進(jìn)程管理。進(jìn)程間通信與同步。線程管理。線程間同步以及網(wǎng)絡(luò)編程等內(nèi)容。要求讀者有較好的C語言及數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)。網(wǎng)絡(luò)技術(shù)基礎(chǔ)。?! inux應(yīng)用開發(fā)是目前最為廣泛的軟件開發(fā)內(nèi)容之一,同時(shí)也是從事Linux內(nèi)核及驅(qū)動(dòng)開發(fā)的基礎(chǔ)?!禠inux高級(jí)程序設(shè)計(jì)》一書出版以來,收到了大量的讀者來信,對(duì)本書提出了各種意見和建議,綜合各方面的考慮,筆者做了大量的改進(jìn),推出了它的第2版。這次修訂的原則是:  (1)保持和加強(qiáng)原書優(yōu)點(diǎn),如理論觀點(diǎn)鮮明,注重實(shí)際與應(yīng)用,并添加新的案例,  (2)在內(nèi)容上去舊更新,不僅修正了第1版中的錯(cuò)誤和疏漏之處,更對(duì)原版的章節(jié)。內(nèi)容進(jìn)行了更新和補(bǔ)充,力求刪繁就簡(jiǎn)?! ”緯抻唭?nèi)容如下?! 〉?章:精簡(jiǎn)文字,修訂部分筆誤,更新編程錯(cuò)誤處理辦法?! 〉?章:精簡(jiǎn)文字,修訂部分筆誤,刪除部分冗余內(nèi)容,包括對(duì)GCC、GDB、Makefile介紹的內(nèi)容。增加部分工具說明。  第3章:精簡(jiǎn)文字,修訂部分筆誤,并對(duì)命令行參數(shù)匹配。進(jìn)程基本環(huán)境等進(jìn)行介紹?! 〉?章:修訂格式化輸入輸出節(jié)內(nèi)容,增加sscanf/sprintf函數(shù)應(yīng)用內(nèi)容,并增加部分應(yīng)用案例,主要包括流類型的判斷。簡(jiǎn)單shell命令(例如cp)實(shí)現(xiàn)等?! 〉?章:對(duì)各函數(shù)說明及應(yīng)用案例進(jìn)行更新,并增加目錄流編程內(nèi)容。  第6章:對(duì)鏈接文件操作函數(shù)進(jìn)行分類歸納整理,并以ls-1應(yīng)用案例總結(jié)第4、5、6章內(nèi)容?! 〉?章:對(duì)進(jìn)程創(chuàng)建。進(jìn)程屬性等內(nèi)容進(jìn)行修訂,添加守候進(jìn)程以及日志管理的內(nèi)容,并對(duì)孤兒進(jìn)程。僵死進(jìn)程進(jìn)行比較?! 〉?章:精簡(jiǎn)文字,修訂部分筆誤,添加了重定向案例,并對(duì)信號(hào)處理一節(jié)進(jìn)行了總結(jié),更新了各函數(shù)的應(yīng)用案例。  第9章:增加雙向隊(duì)列傳遞應(yīng)用案例。信號(hào)量生產(chǎn)消費(fèi)問題案例以及信號(hào)量的非阻塞應(yīng)用案例。  第10章:精簡(jiǎn)文字,修訂部分筆誤,增加線程私有數(shù)據(jù)介紹以及各函數(shù)應(yīng)用代碼?! 〉?1章:精簡(jiǎn)文字,修訂部分筆誤。增加線程在信號(hào)處理方面的內(nèi)容。  第12章:精簡(jiǎn)文字,修訂部分筆誤。增加UDP。TCP同步及異步通信案例?! ⌒略龅?3章:對(duì)網(wǎng)絡(luò)編程部分專用函數(shù),包括大小端與字節(jié)順序。socket屬性。地址解析。網(wǎng)絡(luò)調(diào)試工具等相關(guān)內(nèi)容進(jìn)行介紹?! ⌒略龅?4章:增加對(duì)TCP及UDP高級(jí)編程的介紹,包括TCP多路選擇。TCP非阻塞。信號(hào)驅(qū)動(dòng)。UDP廣播。UDP組播等內(nèi)容?! ⌒略龅?5章:增加網(wǎng)絡(luò)服務(wù)器構(gòu)建案例,并以構(gòu)建HTTP服務(wù)器為例,介紹了包括文件及目錄管理,進(jìn)行線程管理及通信。網(wǎng)絡(luò)編程內(nèi)容,從而使讀者學(xué)以致用?! ≡诘?版中還增加了大量應(yīng)用案例,特別是增加了大量網(wǎng)絡(luò)編程內(nèi)容,以求為讀者進(jìn)行Linux應(yīng)用程序開發(fā)提供一條扎實(shí)的進(jìn)階之路  本書還提供了完整的代碼和教案,方便廣大師生使用

內(nèi)容概要

  本書以Linux操作系統(tǒng)(內(nèi)核為2.6版本)為開發(fā)平臺(tái)、GCC 4.0/GDB 6.3為開發(fā)調(diào)試環(huán)境,詳細(xì)介紹了Linux系統(tǒng)下編程環(huán)境及編程工具、文件管理(文件類型、ANSI以及POSIX標(biāo)準(zhǔn)下文件讀寫操作)、進(jìn)程管理(創(chuàng)建、退出、執(zhí)行、等待、屬性控制)、進(jìn)程間通信(管道、消息隊(duì)列、共享內(nèi)存)、進(jìn)程間同步機(jī)制(信號(hào)量)、進(jìn)程間異步機(jī)制(信號(hào))、線程管理(創(chuàng)建、退出、取消等以及屬性控制)、線程間同步(互斥鎖、讀寫鎖、條件變量)以及網(wǎng)絡(luò)基本編程、高級(jí)應(yīng)用等內(nèi)容。  本書內(nèi)容豐富、緊扣應(yīng)用,適合從事Linux下C應(yīng)用編程的人員閱讀,也適合從事嵌入式Linux開發(fā)的人員閱讀。

書籍目錄

第1章 Linux下C語言開發(fā)環(huán)境  1.1 Linux操作系統(tǒng)簡(jiǎn)介   1.1.1 Linux操作系統(tǒng)簡(jiǎn)介   1.1.2 GNU/Linux簡(jiǎn)介   1.1.3 相關(guān)術(shù)語介紹  1.2 Linux開發(fā)初步   1.2.1 Linux下C程序標(biāo)準(zhǔn)   1.2.2 庫函數(shù)和系統(tǒng)調(diào)用   1.2.3 在線文檔介紹   1.2.4 獲取錯(cuò)誤信息  1.3 部分常用工具簡(jiǎn)介   1.3.1 tar打包器   1.3.2 Linux常用命令及工具  1.4 Linux下編碼風(fēng)格   1.4.1 GNU編碼規(guī)范   1.4.2 Linux內(nèi)核編碼規(guī)范 第2章 Linux下C語言開發(fā)工具  2.1 常用編輯工具   2.1.1 VIM編輯器   2.1.2 Emacs編輯器   2.1.3 Source Insight工具  2.2 GCC編譯工具   2.2.1 GCC/G++簡(jiǎn)介   2.2.2 頭文件及預(yù)處理結(jié)果分析  2.3 Make工具與Makefile文件   2.3.1 Make工具簡(jiǎn)介   2.3.2 Makefile常用規(guī)則  2.4 常用調(diào)試工具   2.4.1 GDB調(diào)試工具簡(jiǎn)介   2.4.2 GDB演示示例   2.4.3 GDB調(diào)試器常用語法   2.4.4 strace   2.4.5 GCC程序開發(fā)過程實(shí)例  2.5 Linux庫文件使用與創(chuàng)建   2.5.1 Linux系統(tǒng)庫文件管理的基本策略   2.5.2 Linux下靜態(tài)庫的創(chuàng)建與使用   2.5.3 Linux下共享庫創(chuàng)建及使用   2.5.4 靜態(tài)庫與共享庫的區(qū)別  2.6 Autoconf/Automake自動(dòng)化工具   2.6.1 Autoconf/Automake工具介紹   2.6.2 Autoconf/Automake工具使用示例 第3章 Linux進(jìn)程存儲(chǔ)管理  3.1 Linux程序存儲(chǔ)結(jié)構(gòu)與進(jìn)程結(jié)構(gòu)   3.1.1 Linux可執(zhí)行文件結(jié)構(gòu)   3.1.2 Linux進(jìn)程結(jié)構(gòu)   3.1.3 C變量及函數(shù)存儲(chǔ)類型   3.1.4 棧和堆的區(qū)別   3.1.5 示例:查看代碼中各數(shù)據(jù)存儲(chǔ)位置   3.1.6 常見內(nèi)存錯(cuò)誤示例分析  3.2 ANSI C內(nèi)存管理API函數(shù)   3.2.1 內(nèi)存分配的基本方式   3.2.2 示例:為程序申請(qǐng)動(dòng)態(tài)內(nèi)存空間   3.2.3 內(nèi)存數(shù)據(jù)管理函數(shù)  3.3 常用Linux內(nèi)存管理及調(diào)試工具   3.3.1 mcheck函數(shù)   3.3.2 Valgrind內(nèi)存檢測(cè)工具  3.4 Linux進(jìn)程環(huán)境及系統(tǒng)限制   3.4.1 進(jìn)程與命令參數(shù)   3.4.2 進(jìn)程與環(huán)境變量   3.4.3 Linux系統(tǒng)限制   3.4.4 Linux時(shí)間管理 第4章 ANSI C文件管理 第5章 POSIX文件及目錄管理 第6章 普通文件、連接文件及目錄文件屬性管理 第7章 Linux進(jìn)程管理與程序開發(fā) 第8章 進(jìn)程間通信——管道和信號(hào) 第9章 System V進(jìn)程間通信 第10章 Linux多線程編程 第11章 線程間同步機(jī)制 第12章 Linux socket網(wǎng)絡(luò)編程 第13章 網(wǎng)絡(luò)編程工具介紹 第14章 網(wǎng)絡(luò)編程高級(jí)應(yīng)用 第15章 構(gòu)建網(wǎng)絡(luò)服務(wù)器 

章節(jié)摘錄

  第1章 Linux下C語言開發(fā)環(huán)境  1.1 Linux操作系統(tǒng)簡(jiǎn)介  1.1.1 Linux操作系統(tǒng)簡(jiǎn)介  UNIX操作系統(tǒng)于1969年由Ken Thompson在AT&T貝爾實(shí)驗(yàn)室的一臺(tái)DEC PDP-7計(jì)算機(jī)上實(shí)現(xiàn)。后來Ken Thompson和Dennis Ritchie使用C語言對(duì)整個(gè)系統(tǒng)進(jìn)行了再加工和編寫,使得UNIX能夠很容易地移植到其他硬件的計(jì)算機(jī)上。由于此時(shí)AT&T還沒有把UNIX作為它的正式商品,因此研究人員只是在實(shí)驗(yàn)室內(nèi)部使用并完善它。正是由于UNIX是被作為研究項(xiàng)目,其他科研機(jī)構(gòu)和大學(xué)的計(jì)算機(jī)研究人員也希望能得到這個(gè)系統(tǒng),以便進(jìn)行自己的研究。AT&T采用分發(fā)許可證的方法,大學(xué)和研究機(jī)構(gòu)僅僅需要很少的費(fèi)用就能獲得UNIX的源代碼以進(jìn)行研究。UNIX的源代碼被散發(fā)到各個(gè)大學(xué),一方面使得科研人員能夠根據(jù)需要改進(jìn)系統(tǒng),或者將其移植到其他的硬件環(huán)境中去,另一方面培養(yǎng)了大量懂得UNIX使用和編程的學(xué)生,這使UNIX的使用更為普及。  到了20世紀(jì)70年代末,在UNIX發(fā)展到版本6之后,AT&T認(rèn)識(shí)到了UNIX的價(jià)值,并成立了UNIX系統(tǒng)實(shí)驗(yàn)室(UNIX System Lab,USL)來繼續(xù)發(fā)展UNIX。因此一方面AT&T繼續(xù)發(fā)展內(nèi)部使用的UNIX版本7,一方面由USL開發(fā)對(duì)外正式發(fā)行的UNIX版本,同時(shí)AT&T也宣布對(duì)UNIX產(chǎn)品擁有所有權(quán)。幾乎在同時(shí),加州大學(xué)伯克利分校計(jì)算機(jī)系統(tǒng)研究小組(CSRG)借助UNIX對(duì)操作系統(tǒng)進(jìn)行了研究,他們對(duì)UNIX進(jìn)行的改進(jìn)相當(dāng)多,增加了很多當(dāng)時(shí)非常先進(jìn)的特性,包括更好的內(nèi)存管理、快速且健壯的文件系統(tǒng)等,大部分原有的源代碼都被重寫,很多其他的UNIX使用者,包括其他大學(xué)和商業(yè)機(jī)構(gòu),都希望能得到經(jīng)CSRG改進(jìn)的UNIX系統(tǒng)。因此CSRG的研究人員把他們的UNIX組成一個(gè)完整的UNIX系統(tǒng)——BSD UNIX(Berkeley Software Distribution)向外發(fā)行。

編輯推薦

  《Linux高級(jí)程序設(shè)計(jì)(第2版)》主要涵養(yǎng)了Linux下C應(yīng)用層程序開發(fā)的大部分內(nèi)容。編程基本工具GCC/GDB的使用方法,庫文件的管理。ANSI標(biāo)準(zhǔn)I/O管理、POSIX標(biāo)準(zhǔn)I/O管理、普通文件和目錄管理以及內(nèi)存管理?! ∵M(jìn)程管理及進(jìn)程間通信機(jī)制,包括同一臺(tái)主機(jī)通信機(jī)制(無名管道、命名管道、信號(hào)、信號(hào)量、消息隊(duì)列以及共享內(nèi)存),網(wǎng)絡(luò)主機(jī)間通信機(jī)制(socket)?! 【€程管理及線程問通信機(jī)制,包括互斥鎖、條件變量、信號(hào)燈、信號(hào)和讀寫鎖。由淺入深,按理淪分析→實(shí)際操作→案例分析的順序組織內(nèi)容  作者多年教學(xué)及工程實(shí)踐的總結(jié),整合了Linux程序設(shè)計(jì)的絕大多數(shù)知識(shí)點(diǎn),涵蓋Linux操作系統(tǒng)下C語言應(yīng)用程序設(shè)計(jì)的所有關(guān)鍵內(nèi)容  內(nèi)容豐富 總結(jié)作者多年教學(xué)及工程經(jīng)驗(yàn),整合Linux程序設(shè)汁的絕大多數(shù)知識(shí)點(diǎn),涵蓋Linux操作系統(tǒng)下C語言應(yīng)用程序設(shè)計(jì)的所有關(guān)鍵內(nèi)容。循序漸進(jìn)避開大量理論,按知識(shí)體系介紹→應(yīng)用函數(shù)分析→應(yīng)用案例開發(fā)的順序?qū)懽鳎x者可以針對(duì)每個(gè)知識(shí)點(diǎn)進(jìn)行編程演練?! “咐笇?dǎo) 《Linux高級(jí)程序設(shè)計(jì)(第2版)》遵循案例教學(xué)思想,每一個(gè)知識(shí)點(diǎn)都對(duì)應(yīng)一個(gè)應(yīng)用程序,且所有代碼都在教學(xué)實(shí)踐過程中使用過,讀者可以直接編譯調(diào)試?! 【o扣應(yīng)用 《Linux高級(jí)程序設(shè)計(jì)(第2版)》所采用的開發(fā)平臺(tái)為2.6內(nèi)核,開發(fā)工具為GCC 4.0。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    Linux高級(jí)程序設(shè)計(jì) PDF格式下載


用戶評(píng)論 (總計(jì)17條)

 
 

  •   學(xué)習(xí)linux省了不少麻煩,看了三四本,這本最好了。
  •   寫的還好,適合像我這樣的初學(xué)者
  •   很經(jīng)典,該講的都講了,對(duì)作者和翻譯表示支持。不過有些地方作者和翻譯說的并不很通順,建議大家讀的時(shí)候不要死讀一句話,多看一下上下文,理解就可以了。
  •   買來當(dāng)課本的。。。。很詳細(xì)~
  •   是一本不錯(cuò)的書,正在學(xué)習(xí)中,有一定幫助,是別人推薦的。
  •   是一本好書,言簡(jiǎn)意賅,通俗易懂
  •   很不錯(cuò)的書很不錯(cuò)的快遞速度
  •   一本不錯(cuò)的書,good
  •   這門書詳細(xì)的講解了LINUX進(jìn)程間的通信和網(wǎng)絡(luò)編程,第二版還在原來的基礎(chǔ)上增加了大量的實(shí)例,尤其在網(wǎng)絡(luò)編程這個(gè)章節(jié)里增加了現(xiàn)在實(shí)用的HTTP知識(shí),適合想學(xué)嵌入式應(yīng)用開發(fā)初級(jí)者和中級(jí)著自學(xué)的一本好書。
  •   內(nèi)容豐富,言簡(jiǎn)意賅,每一句話都要仔細(xì)去看,很多重要的內(nèi)容沒有注重強(qiáng)調(diào),一筆帶過。
    中的來說,值得購買,不過不建議新手閱讀,至少你的有操作系統(tǒng)知識(shí)以及l(fā)inux操作和c語言功底。
  •   比較適合linux編程初學(xué)者
  •   書很不錯(cuò),印刷質(zhì)量好,內(nèi)容也比較適合,很滿意!
  •   還可以吧,內(nèi)容不是很具體。
  •   在當(dāng)當(dāng)?shù)谝淮钨I東西,感覺不錯(cuò),收到的書也很滿意,值得這個(gè)價(jià)。下次買東西還來!
  •   雖然有點(diǎn)小錯(cuò)誤,但整體還不錯(cuò)
  •   這本書名為linux高級(jí)程序設(shè)計(jì)不如linux下c程序設(shè)計(jì)來的實(shí)際,整本書介紹了linux下c編譯需要的基礎(chǔ)知識(shí)和工具,并討論了一些基本的函數(shù),并沒有涉及到很高深的知識(shí),只要懂得c語言就能看懂。
    書中有些印刷的小錯(cuò)誤,并不影響閱讀,但是讓人看著很不舒服,希望在下一版中能改進(jìn),有些需要文字解釋的地方作者喜歡印代碼,有偷懶的嫌疑,但是也能在閱讀的同時(shí)調(diào)動(dòng)你的大腦,也算是有利有弊吧,最后還是要推薦下linux程序設(shè)計(jì)這本書,雖然價(jià)格貴了很多,但是講解的很詳細(xì),如果追求速成可以看這本書,想深入點(diǎn)了解的話還是看老外的書。
  •   內(nèi)容講得很泛,很多知識(shí)點(diǎn)都不夠詳細(xì),不夠全面@!
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7