注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)LinuxLinux高級(jí)程序設(shè)計(jì)

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

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

定 價(jià):¥59.00

作 者: (英國)Richard Blum,Jon Masters 著;陳健 譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書
標(biāo) 簽: LINUX

ISBN: 9787115179104 出版時(shí)間: 2008-01-01 包裝: 平裝
開本: 16 頁數(shù): 390 字?jǐn)?shù):  

內(nèi)容簡介

  本書是Linux 程序設(shè)計(jì)領(lǐng)域的一部力作,講解了大量程序員需要掌握的關(guān)鍵知識(shí)點(diǎn),包括Linux 開發(fā)中的基本工具、Linux 系統(tǒng)編程、Linux 桌面開發(fā)以及Linux 與Web 開發(fā)。書中包括大量有益的經(jīng)驗(yàn)之談和富于啟發(fā)的示例。本書主要針對(duì)已有一定Linux 開發(fā)經(jīng)驗(yàn)或者從其他平臺(tái)轉(zhuǎn)到Linux 平臺(tái)的專業(yè)程序員,同樣也適合想更多了解系統(tǒng)以解決實(shí)際問題的Linux 使用者。

作者簡介

  Jon Masters,著名Linux內(nèi)核工程師。目前效力于Red Hat公司。13歲取得計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,創(chuàng)造了英國記錄。他精通Linux內(nèi)核引擎、Unix系統(tǒng)管理、基于Linux的嵌入式系統(tǒng)開發(fā),而且在網(wǎng)絡(luò)、安全等領(lǐng)域也頗有造詣。目前正在負(fù)責(zé)維護(hù)Module—init—tools—Linux官方的一個(gè)工具包,包含所有與Linux內(nèi)核交互的工具。他還是Linux User&Developer、Linux Magazine等著名雜志的專欄作家。Richard Blum,畢業(yè)于美國普度大學(xué)電氣工程專業(yè),資深程序員。精通多種編程語言。除本書外,他還著有Professional Assembly Language等經(jīng)典著作,深受讀者好評(píng)。

圖書目錄

第1章 Linux簡介 1
1.1 Linux發(fā)展簡史 1
1.1.1 GNU項(xiàng)目 2
1.1.2 Linux內(nèi)核 2
1.1.3 Linux發(fā)行版 3
1.1.4 自由軟件與開放源碼 4
1.2 開發(fā)起步 5
1.2.1 選擇一個(gè)Linux發(fā)行版 5
1.2.2 安裝Linux發(fā)行版 7
1.2.3 沙盒和虛擬化技術(shù) 13
1.3 Linux社區(qū) 13
1.3.1 Linux用戶組 14
1.3.2 郵件列表 14
1.3.3 IRC 14
1.3.4 私有社區(qū) 14
1.4 關(guān)鍵差別 15
1.4.1 Linux是模塊化的 15
1.4.2 Linux是可移植的 15
1.4.3 Linux是通用的 15
1.5 本章總結(jié) 16
第2章 工具鏈 17
2.1 Linux開發(fā)過程 17
2.1.1 使用源代碼 18
2.1.2 配置本地環(huán)境 18
2.1.3 編譯源代碼 19
2.2 GNU工具鏈的組成 20
2.3 GNU二進(jìn)制工具集 29
2.3.1 GNU匯編器 29
2.3.2 GNU連接器 30
2.3.3 GNU objcopy和objdump 31
2.4 GNU Make 33
2.5 GNU調(diào)試器 34
2.6 Linux內(nèi)核和GNU工具鏈 37
2.6.1 內(nèi)聯(lián)匯編 37
2.6.2 屬性標(biāo)記 38
2.6.3 定制連接器腳本 38
2.7 交叉編譯 39
2.8 建立GNU工具鏈 40
2.9 本章總結(jié) 41
第3章 可移植性 42
3.1 可移植性的需要 42
3.2 Linux的可移植性 44
3.2.1 抽象層 44
3.2.2 Linux發(fā)行版 45
3.2.3 建立軟件包 49
3.2.4 可移植的源代碼 61
3.3 硬件可移植性 78
3.3.1 64位兼容 78
3.3.2 字節(jié)序中立 79
3.3.3 字節(jié)序的門派之爭 81
3.4 本章總結(jié) 81
第4章 軟件配置管理 83
4.1 SCM的必要性 83
4.2 集中式開發(fā)與分散式開發(fā) 84
4.3 集中式工具 85
4.3.1 CVS 85
4.3.2 Subversion 93
4.4 分散式工具 96
4.4.1 Bazaar-NG 96
4.4.2 Linux內(nèi)核SCM 99
4.5 集成化SCM工具 102
4.6 本章總結(jié) 104
第5章 網(wǎng)絡(luò)編程 105
5.1 Linux套接字編程 105
5.1.1 套接字 105
5.1.2 網(wǎng)絡(luò)地址 107
5.1.3 使用面向連接的套接字 108
5.1.4 使用無連接套接字 114
5.2 傳輸數(shù)據(jù) 117
5.2.1 數(shù)據(jù)報(bào)與字節(jié)流 117
5.2.2 標(biāo)記消息邊界 121
5.3 使用網(wǎng)絡(luò)編程函數(shù)庫 123
5.3.1 libCurl函數(shù)庫 123
5.3.2 使用libCurl庫 124
5.4 本章總結(jié) 129
第6章 數(shù)據(jù)庫 130
6.1 持久性數(shù)據(jù)存儲(chǔ) 130
6.1.1 使用標(biāo)準(zhǔn)文件 130
6.1.2 使用數(shù)據(jù)庫 131
6.2 Berkeley DB軟件包 133
6.2.1 下載和安裝 133
6.2.2 編譯程序 134
6.2.3 基本數(shù)據(jù)處理 134
6.3 PostgreSQL數(shù)據(jù)庫服務(wù)器 143
6.3.1 下載和安裝 144
6.3.2 編譯程序 145
6.3.3 創(chuàng)建一個(gè)應(yīng)用程序數(shù)據(jù)庫 145
6.3.4 連接服務(wù)器 147
6.3.5 執(zhí)行SQL命令 150
6.3.6 使用參數(shù) 157
6.4 本章總結(jié) 160
第7章 內(nèi)核開發(fā) 161
7.1 基本知識(shí) 161
7.1.1 背景先決條件 161
7.1.2 內(nèi)核源代碼 162
7.1.3 配置內(nèi)核 165
7.1.4 編譯內(nèi)核 168
7.1.5 已編譯好的內(nèi)核 171
7.1.6 測試內(nèi)核 172
7.1.7 包裝和安裝內(nèi)核 174
7.2 內(nèi)核概念 174
7.2.1 一句警告 175
7.2.2 任務(wù)抽象 175
7.2.3 虛擬內(nèi)存 179
7.2.4 不要恐慌 182
7.3 內(nèi)核編程 182
7.4 內(nèi)核開發(fā)過程 185
7.4.1 git: 傻瓜內(nèi)容跟蹤器 185
7.4.2 Linux內(nèi)核郵件列表 187
7.4.3 “mm”開發(fā)樹 189
7.4.4 穩(wěn)定內(nèi)核小組 189
7.4.5 LWN:Linux每周新聞 189
7.5 本章總結(jié) 190
第8章 內(nèi)核接口 191
8.1 什么是接口 191
8.2 外部內(nèi)核接口 192
8.2.1 系統(tǒng)調(diào)用 193
8.2.2 設(shè)備文件抽象 197
8.2.3 內(nèi)核事件 210
8.2.4 忽略內(nèi)核保護(hù) 211
8.3 內(nèi)部內(nèi)核接口 215
8.3.1 內(nèi)核API 215
8.3.2 內(nèi)核ABI 216
8.4 本章總結(jié) 217
第9章 Linux內(nèi)核模塊 218
9.1 模塊工作原理 218
9.1.1 擴(kuò)展內(nèi)核命名空間 220
9.1.2 沒有對(duì)模塊兼容性的保證 221
9.2 找到好的文檔 221
9.3 編寫Linux內(nèi)核模塊 223
9.3.1 開始之前 223
9.3.2 基本模塊需求 223
9.3.3 日志記錄 226
9.3.4 輸出的符號(hào) 227
9.3.5 分配內(nèi)存 228
9.3.6 鎖的考慮 236
9.3.7 推遲工作 243
9.3.8 進(jìn)一步閱讀 251
9.4 分發(fā)Linux內(nèi)核模塊 252
9.4.1 進(jìn)入上游Linux內(nèi)核 252
9.4.2 發(fā)行源代碼 252
9.4.3 發(fā)行預(yù)編譯模塊 253
9.5 本章總結(jié) 253
第10章 調(diào)試 254
10.1 調(diào)試概述 254
10.2 基本調(diào)試工具 255
10.2.1 GNU調(diào)試器 255
10.2.2 Valgrind 263
10.3 圖形化調(diào)試工具 264
10.3.1 DDD 264
10.3.2 Eclipse 267
10.4 內(nèi)核調(diào)試 269
10.4.1 不要驚慌! 269
10.4.2 理解oops 270
10.4.3 使用UML進(jìn)行調(diào)試 272
10.4.4 一件軼事 275
10.4.5 關(guān)于內(nèi)核調(diào)試器的注記 276
10.5 本章總結(jié) 276
第11章 GNOME開發(fā)者平臺(tái) 277
11.1 GNOME函數(shù)庫 277
11.1.1 Glib 277
11.1.2 GObject 277
11.1.3 Cairo 278
11.1.4 GDK 278
11.1.5 Pango 278
11.1.6 GTK+ 278
11.1.7 libglade 279
11.1.8 GConf 279
11.1.9 GStreamer 279
11.2 建立一個(gè)音樂播放器 280
11.2.1 需求 280
11.2.2 開始:主窗口 280
11.2.3 建立GUI 282
11.3 本章總結(jié) 299
第12章 自由桌面項(xiàng)目 300
12.1 D-BUS:桌面總線 300
12.1.1 什么是D-Bus 300
12.1.2 D-Bus基礎(chǔ) 301
12.1.3 D-Bus方法 304
12.2 硬件抽象層 308
12.2.1 使硬件可以即插即用 308
12.2.2 HAL設(shè)備對(duì)象 311
12.3 網(wǎng)絡(luò)管理器 316
12.4 其他自由桌面項(xiàng)目 317
12.5 本章總結(jié) 318
第13章 圖形和音頻 319
13.1 Linux和圖形 319
13.1.1 X視窗 319
13.1.2 開放式圖形庫 321
13.1.3 OpenGL應(yīng)用工具包 321
13.1.4 簡單直接媒介層 322
13.2 編寫OpenGL應(yīng)用程序 322
13.2.1 下載和安裝 323
13.2.2 編程環(huán)境 323
13.2.3 使用GLUT庫 324
13.3 編寫SDL應(yīng)用程序 336
13.3.1 下載和安裝 336
13.3.2 編程環(huán)境 337
13.3.3 使用SDL庫 337
13.4 本章總結(jié) 347
第14章 LAMP 348
14.1 什么是LAMP 348
14.1.1 Apache 349
14.1.2 MySQL 349
14.1.3 PHP 349
14.1.4 反叛平臺(tái) 350
14.1.5 評(píng)價(jià)LAMP平臺(tái) 350
14.2 Apache 351
14.2.1 虛擬主機(jī) 352
14.2.2 安裝和配置PHP 5 353
14.2.3 Apache Basic認(rèn)證 353
14.2.4 Apache與SSL 354
14.2.5 SSL與HTTP認(rèn)證的整合 355
14.3 MySQL 355
14.3.1 安裝MySQL 355
14.3.2 配置和啟動(dòng)數(shù)據(jù)庫 356
14.3.3 修改默認(rèn)密碼 356
14.3.4 MySQL客戶端接口 356
14.3.5 關(guān)系數(shù)據(jù)庫 357
14.3.6 SQL 357
14.3.7 關(guān)系模型 359
14.4 PHP 362
14.4.1 PHP語言 362
14.4.2 錯(cuò)誤處理 369
14.4.3 異常錯(cuò)誤處理 370
14.4.4 優(yōu)化技巧 371
14.4.5 安裝額外的PHP軟件 375
14.4.6 日志記錄 376
14.4.7 參數(shù)處理 377
14.4.8 會(huì)話處理 378
14.4.9 單元測試 378
14.4.10 數(shù)據(jù)庫和PHP 380
14.4.11 PHP框架 380
14.5 DVD庫 381
14.5.1 版本1:開發(fā)者的噩夢(mèng) 381
14.5.2 版本2:使用DB數(shù)據(jù)層的基本應(yīng)用程序 382
14.5.3 版本3:重寫數(shù)據(jù)層,添加日志記錄和異?!?85
14.5.4 版本4:應(yīng)用模板框架 388
14.6 本章總結(jié) 390

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)