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

Linux高級程序設計(第2版)

Linux高級程序設計(第2版)

定 價:¥49.00

作 者: 楊宗德,鄧玉春 編著
出版社: 人民郵電出版社
叢編項:
標 簽: LINUX

ISBN: 9787115213907 出版時間: 2009-10-01 包裝: 平裝
開本: 16開 頁數(shù): 432 字數(shù):  

內容簡介

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

作者簡介

暫缺《Linux高級程序設計(第2版)》作者簡介

圖書目錄

第1章 Linux下C語言開發(fā)環(huán)境1
1.1 Linux操作系統(tǒng)簡介2
1.1.1 Linux操作系統(tǒng)簡介2
1.1.2 GNU/Linux簡介3
1.1.3 相關術語介紹3
1.2 Linux開發(fā)初步5
1.2.1 Linux下C程序標準5
1.2.2 庫函數(shù)和系統(tǒng)調用7
1.2.3 在線文檔介紹9
1.2.4 獲取錯誤信息10
1.3 部分常用工具簡介11
1.3.1 tar打包器11
1.3.2 Linux常用命令及工具12
1.4 Linux下編碼風格 16
1.4.1 GNU編碼規(guī)范 16
1.4.2 Linux內核編碼規(guī)范 17
第2章 Linux下C語言開發(fā)工具 20
2.1 常用編輯工具22
2.1.1 VIM編輯器22
2.1.2 Emacs編輯器 24
2.1.3 SourceInsight工具 25
2.2 GCC編譯工具 29
2.2.1 GCC/G++簡介 30
2.2.2 頭文件及預處理結果分析 34
2.3 Make工具與Makefile文件 36
2.3.1 Make工具簡介 36
2.3.2 Makefile常用規(guī)則 39
2.4 常用調試工具 41
2.4.1 GDB調試工具簡介 41
2.4.2 GDB演示示例 42
2.4.3 GDB調試器常用語法 43
2.4.4 strace 45
2.4.5 GCC程序開發(fā)過程實例 46
2.5 Linux庫文件使用與創(chuàng)建 49
2.5.1 Linux系統(tǒng)庫文件管理的基本策略 49
2.5.2 Linux下靜態(tài)庫的創(chuàng)建與使用 50
2.5.3 Linux下共享庫創(chuàng)建及使用 52
2.5.4 靜態(tài)庫與共享庫的區(qū)別 54
2.6 Autoconf/Automake自動化工具 54
2.6.1 Autoconf/Automake工具介紹 54
2.6.2 Autoconf/Automake工具使用示例 55
第3章 Linux進程存儲管理 61
3.1 Linux程序存儲結構與進程結構 62
3.1.1 Linux可執(zhí)行文件結構 62
3.1.2 Linux進程結構 63
3.1.3 C變量及函數(shù)存儲類型 64
3.1.4 棧和堆的區(qū)別 69
3.1.5 示例:查看代碼中各數(shù)據(jù)存儲位置 70
3.1.6 常見內存錯誤示例分析 73
3.2 ANSIC內存管理API函數(shù) 74
3.2.1 內存分配的基本方式 74
3.2.2 示例:為程序申請動態(tài)內存空間 74
3.2.3 內存數(shù)據(jù)管理函數(shù) 78
3.3 常用Linux內存管理及調試工具 80
3.3.1 mcheck函數(shù) 80
3.3.2 Valgrind內存檢測工具 82
3.4 Linux進程環(huán)境及系統(tǒng)限制 85
3.4.1 進程與命令參數(shù) 85
3.4.2 進程與環(huán)境變量 90
3.4.3 Linux系統(tǒng)限制 91
3.4.4 Linux時間管理 93
第4章 ANSIC文件管理 96
4.1 文件及文件流 98
4.1.1 文件與流的基本概念 98
4.1.2 標準流及流主要功能 99
4.1.3 文件流指針 100
4.1.4 緩沖區(qū)類型 101
4.1.5 指定流緩沖區(qū) 103
4.2 ANSIC標準文件I/O操作 105
4.2.1 打開關閉文件 105
4.2.2 讀寫文件流 107
4.2.3 文件流定位 111
4.2.4 實現(xiàn)文件拷貝操作示例 113
4.3 格式化輸入/輸出函數(shù)操作 114
4.3.1 printf/scanf函數(shù)分析 114
4.3.2 fprintf/fscanf函數(shù)分析 115
4.3.3 sprintf函數(shù)分析 116
4.3.4 sscanf函數(shù)分析 118
第5章 POSIX文件及目錄管理 121
5.1 文件描述符與內核文件表項 122
5.1.1 文件流與文件描述符的區(qū)別 122
5.1.2 文件表結構圖 123
5.1.3 文件描述符與文件流的轉換操作 123
5.2 POSIX標準下文件IO管理 125
5.2.1 創(chuàng)建/打開/關閉文件126
5.2.2 文件控制fcntl 129
5.2.3 讀/寫文件內容 131
5.2.4 使用POSIXIO實現(xiàn)文件拷貝 133
5.2.5 文件定位 134
5.2.6 同步內核緩沖區(qū) 135
5.2.7 映射文件到內存 136
5.3 目錄文件基本操作 137
5.3.1 打開/關閉目錄文件 138
5.3.2 讀寫目錄內容 138
5.3.3 定位目錄位置 140
5.3.4 添加刪除目錄 140
5.3.5 當前工作路徑操作 141
第6章 普通文件.連接文件及目錄文件屬性管理 143
6.1 Linux文件系統(tǒng)管理 144
6.1.1 Linux下VFS虛擬文件系統(tǒng) 144
6.1.2 ext2文件系統(tǒng)結構 145
6.1.3 目錄文件及常規(guī)文件存儲方法147
6.2 Linux系統(tǒng)下文件類型及屬性147
6.2.1 Linux文件類型及權限147
6.2.2 Linux文件類型148
6.2.3 文件權限修飾位 151
6.2.4 文件訪問權限位 152
6.3 Linux文件屬性管理 153
6.3.1 讀取文件屬性 153
6.3.2 修改文件權限操作 156
6.3.3 修改系統(tǒng)umask值 157
6.3.4 修改文件的擁有者及組 158
6.3.5 用戶名/組名與UID/GID的轉換 159
6.3.6 創(chuàng)建/刪除硬連接 160
6.3.7 符號連接文件特殊操作 161
6.3.8 文件時間屬性修改與時間處理 162
6.4 應用示例:實現(xiàn)1s-1基本操作 164
6.4.1 需求及知識點涵蓋 164
6.4.2 流程及源代碼實現(xiàn) 164
第7章 Linux進程管理與程序開發(fā) 169
7.1 進程環(huán)境及進程屬性 170
7.1.1 進程資源 170
7.1.2 進程狀態(tài) 170
7.1.3 進程基本屬性 172
7.1.4 進程用戶屬性 176
7.2 進程管理及控制 179
7.2.1 創(chuàng)建進程 179
7.2.2 在進程中運行新代碼 185
7.2.3 等待進程結束 189
7.2.4 退出進程 191
7.2.5 修改進程用戶相關信息 194
7.2.6 進程調度管理函數(shù) 197
7.3 Linux特殊進程 202
7.3.1 守候進程及其創(chuàng)建過程 202
7.3.2 日志信息及其管理 203
7.3.3 守候進程應用示例 205
7.3.4 孤兒進程與僵死進程 207
第8章 進程間通信——管道和信號 210
8.1 進程間通信——PIPE 212
8.1.1 無名管道概念 212
8.1.2 無名管道管理及應用 212
8.1.3 文件描述符重定向 2 15
8.1.4 實現(xiàn)who|sort 218
8.1.5 流重定向 2 20
8.2 進程間通信——FIFO 2 21
8.2.1 有名管道概念 2 21
8.2.2 有名管道管理及應用 222
8.2.3 管道基本特點總結 225
8.3 信號中斷處理 226
8.3.1 Linux常見信號與處理 226
8.3.2 產(chǎn)生信號 229
8.3.3 信號處理與signal安裝信號 233
8.3.4 sigaction安裝信號 234
8.3.5 信號集與屏蔽信號 238
8.3.6 等待信號 244
8.3.7 信號應用示例 246
第9章 SystemV進程間通信 250
9.1 SystemVIPC基礎 252
9.1.1 key值和ID值 252
9.1.2 擁有者及權限 254
9.2 消息隊列 254
9.2.1 消息隊列IPC原理 254
9.2.2 Linux消息隊列管理 257
9.2.3 消息隊列應用實例 259
9.3 信號量通信機制 264
9.3.1 信號量IPC原理 264
9.3.2 Linux信號量管理操作 265
9.3.3 SEM_UNDO參數(shù)的應用 270
9.3.4 使用信號量實現(xiàn)生產(chǎn)消費問題 272
9.4 共享內存 275
9.4.1 共享內存IPC原理 275
9.4.2 Linux共享內存管理 276
9.4.3 共享內存的權限管理示例 278
9.4.4 共享內存處理應用示例 279
9.4.5 共享內存處理應用示例 281
第10章 Linux多線程編程 285
10.1 線程基本概念與線程操作 286
10.1.1 線程與進程的對比 286
10.1.2 創(chuàng)建線程 287
10.1.3 線程退出與等待 288
10.1.4 取消線程 291
10.1.5 線程與私有數(shù)據(jù) 294
10.2 線程屬性控制 297
10.2.1 線程ID 298
10.2.2 初始化線程屬性對象 298
10.2.3 獲取/設置線程detachstate屬性 299
10.2.4 獲取/設置線程棧相關屬性 300
10.2.5 線程屬性控制實例 301
10.3 線程調度策略 303
10.3.1 獲取/設置線程屬性調度屬性 303
10.3.2 獲取/設置指定線程調度屬性 305
第11章 線程間同步機制 309
11.1 互斥鎖通信機制 310
11.1.1 互斥鎖基本原理 310
11.1.2 互斥鎖基本操作 310
11.1.3 互斥鎖應用實例 311
11.2 條件變量通信機制 313
11.2.1 條件變量基本原理 313
11.2.2 條件變量基本操作 3 15
11.2.3 條件變量應用實例 3 16
11.3 讀寫鎖通信機制 3 20
11.3.1 讀寫鎖基本原理 3 20
11.3.2 讀寫鎖基本操作 3 20
11.3.3 讀寫鎖應用實例 322
11.4 線程與信號 3 25
11.4.1 線程信號管理 3 25
11.4.2 線程信號應用實例 3 26
第12章 Linuxsocket網(wǎng)絡編程 3 29
12.1 網(wǎng)絡通信基礎 3 30
12.1.1 TCP/IP協(xié)議簇基礎 3 30
12.1.2 IPV4協(xié)議基礎 3 31
12.1.3 網(wǎng)絡數(shù)據(jù)包封包與拆包過程3 34
12.2 BSDSocket網(wǎng)絡通信編程 339
12.2.1 BSDTCP通信編程流程 339
12.2.2 BSDUDP通信編程流程 341
12.2.3 BSDSocket網(wǎng)絡編程API 342
12.2.4 使用AF_UNIX實現(xiàn)本機數(shù)據(jù)流通信示例 349
12.2.5 使用AF_INET實現(xiàn)UDP點對點通信示例 352
12.3 使用TCP實現(xiàn)簡單聊天程序 354
12.3.1 服務器端代碼分析 355
12.3.2 客戶器端代碼分析 357
第13章 網(wǎng)絡編程工具介紹 359
13.1 地址處理函數(shù)說明 360
13.1.1 大小端問題與網(wǎng)絡字節(jié)順序 360
13.1.2 字節(jié)順序處理函數(shù) 361
13.1.3 點分十進制IP地址與二進制IP地址轉換 363
13.1.4 通過IP地址獲取網(wǎng)絡ID和主機ID 365
13.2 域名與IP信息解析 365
13.2.1 Linux下域名解析過程 365
13.2.2 通過域名返回主機信息 366
13.2.3 通過域名和IP返回主機信息 367
13.2.4 getaddrinfo獲取主機信息 368
13.3 控制socket文件描述符屬性 371
13.3.1 set/getsockopt()修改socket屬性 371
13.3.2 fcntl控制socket 374
13.3.3 ioctl控制文件描述符 374
13.4 網(wǎng)絡調試工具 377
13.4.1 tcpdump的使用 378
13.4.2 netstat工具使用 380
13.4.3 lsof工具使用 381
第14章 網(wǎng)絡編程高級應用 383
14.1 I/O阻塞與非阻塞操作應用 384
14.1.1 非阻塞處理方法 384
14.1.2 非阻塞應用示例 384
14.2 socket多路復用技術 388
14.2.1 select()函數(shù)介紹 388
14.2.2 pselect()函數(shù) 390
14.2.3 多路選擇應用示例 390
14.3 socket信號驅動 396
14.3.1 各類I/O操作比較 396
14.3.2 SIGIO信號處理機制 397
14.3.3 UDP信號驅動實現(xiàn)應用示例 398
14.4 UDP廣播與組播通信 401
14.4.1 廣播地址與廣播通信 401
14.4.2 組播地址與組播通信 403
14.4.3 UDP廣播應用示例 404
14.4.4 UDP組播應用示例 407
14.5 原始套接口基本應用 412
14.5.1 原始套接口基本原理 412
14.5.2 原始套接口應用示例 412
第15章 構建網(wǎng)絡服務器 4 15
15.1 多客戶端實現(xiàn) 4 16
15.1.1 多進程實現(xiàn)多客戶端 4 16
15.1.2 多線程實現(xiàn)多客戶端 4 20
15.2 基于xinetd的網(wǎng)絡服務應用 4 20
15.2.1 xinetd服務介紹 4 21
15.2.2 應用示例 422
15.3 構建簡單的HTTP網(wǎng)絡服務器 423
15.3.1 服務器運行及測試結果 4 24
15.3.2 主函數(shù)運行流程 4 25
15.3.3 支撐函數(shù) 4 27

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號