注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)LinuxLinux高級程序設計

Linux高級程序設計

Linux高級程序設計

定 價:¥59.00

作 者: (英國)Richard Blum,Jon Masters 著;陳健 譯
出版社: 人民郵電出版社
叢編項: 圖靈程序設計叢書
標 簽: LINUX

購買這本書可以去


ISBN: 9787115179104 出版時間: 2008-01-01 包裝: 平裝
開本: 16 頁數: 390 字數:  

內容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號