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

linux高級程序設(shè)計

linux高級程序設(shè)計

定 價:¥49.00

作 者: 楊宗德、鄧玉春、曾慶華 編著
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: LINUX

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

內(nèi)容簡介

  《linux高級程序設(shè)計(附光盤)》以2.6內(nèi)核的Linux操作系統(tǒng)為開發(fā)平臺、GCC 4.0/GDB 6.3為開發(fā)調(diào)試環(huán)境,詳細(xì)介紹了Linux下C語言開發(fā)環(huán)境、C語言開發(fā)工具、內(nèi)存管理、ANSI C文件I/O管理、POSIX文件I/O管理、文件及目錄管理、進程管理、UNIX進程間通信機制、System V進程間通信、多線程編程、線程間通信機制和Linux Socket網(wǎng)絡(luò)編程相關(guān)內(nèi)容及實例開發(fā)。《linux高級程序設(shè)計(附光盤)》內(nèi)容豐富、緊扣應(yīng)用,所列代碼和實例都來源于具體的應(yīng)用程序?!秎inux高級程序設(shè)計(附光盤)》適合從事Linux系統(tǒng)編程工作的人員閱讀,也適合從事嵌入式Linux開發(fā)的人員閱讀。

作者簡介

暫缺《linux高級程序設(shè)計》作者簡介

圖書目錄

第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 相關(guān)術(shù)語介紹 3
1.2 Linux開發(fā)初步 5
1.2.1 Linux下C程序開發(fā)標(biāo)準(zhǔn) 5
1.2.2 庫函數(shù)和系統(tǒng)調(diào)用 7
1.2.3 在線文檔介紹 9
1.2.4 獲取錯誤信息 10
1.2.5 Linux應(yīng)用程序示例 11
1.3 Linux內(nèi)核及庫文件管理 12
1.3.1 Linux內(nèi)核目錄結(jié)構(gòu) 13
1.3.2 使用Linux系統(tǒng)庫文件 14
1.3.3 創(chuàng)建靜態(tài)庫和共享庫 17
1.4 Linux下編碼風(fēng)格 19
1.4.1 GNU編碼規(guī)范 19
1.4.2 Linux內(nèi)核編碼規(guī)范 20

第2章 Linux下C語言開發(fā)工具 23
2.1 Linux開發(fā)的基本工具 24
2.1.1 Vim編輯器 24
2.1.2 Emacs編輯器 26
2.1.3 tar打包器 27
2.1.4 Linux編程常用命令及工具 28
2.2 GCC/G++編譯器 36
2.2.1 GCC/G++簡介 36
2.2.2 Glibc庫 43
2.2.3 GCC不同編譯選項對程序的影響 45
2.3 make工具及makefile文件 49
2.3.1 make工具簡介 49
2.3.2 makefile常用規(guī)則 52
2.4 GDB調(diào)試工具 54
2.4.1 GDB調(diào)試工具簡介 54
2.4.2 GDB演示示例 55
2.4.3 GDB調(diào)試器常用語法 56
2.5 GCC程序開發(fā)過程實例 58
2.6 自動編譯調(diào)試工具 61
2.6.1 Autoconf/Automake工具組簡介 61

第3章 內(nèi)存管理及相關(guān)工具 69
3.1 內(nèi)存管理基本概念 70
3.1.1 C程序內(nèi)存分配 70
3.1.2 棧和堆的區(qū)別 72
3.1.3 Linux數(shù)據(jù)類型大小 73
3.1.4 數(shù)據(jù)存儲區(qū)域?qū)嵗?5
3.2 內(nèi)存管理函數(shù) 77
3.2.1 malloc/free函數(shù) 77
3.2.2 realloc——更改已經(jīng)配置的內(nèi)存空間 80
3.2.3 其他內(nèi)存管理函數(shù)calloc和alloca 82
3.3 常用Linux內(nèi)存管理及調(diào)試工具 82
3.3.1 mcheck函數(shù) 83
3.3.2 Valgrind內(nèi)存檢測工具 84

第4章 ANSI C文件管理 89
4.1 文件基本概念及文件指針 90
4.1.1 文件基本概念 90
4.1.2 文件指針 91
4.2 ANSI C標(biāo)準(zhǔn)文件I/O操作 93
4.2.1 緩沖區(qū)類型 93
4.2.2 打開關(guān)閉文件 96
4.2.3 讀寫文件流 98
4.2.4 文件流定位 102
4.2.5 格式化輸入輸出函數(shù) 103

第5章 POSIX標(biāo)準(zhǔn)文件I/O管理 107
5.1 Linux系統(tǒng)下文件類型及屬性 108
5.1.1 Linux文件模式 108
5.1.2 Linux文件類型 108
5.1.3 文件權(quán)限修飾位 111
5.1.4 文件訪問權(quán)限位 112
5.1.5 文件描述符 113
5.2 POSIX標(biāo)準(zhǔn)下文件I/O管理 114
5.2.1 創(chuàng)建/打開/關(guān)閉文件 114
5.2.2 文件控制fcntl 117
5.2.3 lockf文件控制 121
5.2.4 鎖定/解鎖文件flock 122
5.2.5 讀/寫文件內(nèi)容 124
5.2.6 文件定位 127

第6章 Linux文件管理及目錄操作 129
6.1 Linux文件系統(tǒng)管理 130
6.1.1 Linux下VFS虛擬文件系統(tǒng) 130
6.1.2 ext2文件系統(tǒng)結(jié)構(gòu) 131
6.1.3 超級塊結(jié)構(gòu) 131
6.1.4 dentry結(jié)構(gòu) 132
6.1.5 Inode塊 133
6.1.6 數(shù)據(jù)塊及文件 135
6.2 Linux文件及目錄管理操作 136
6.2.1 讀取文件屬性 136
6.2.2 修改文件權(quán)限操作 138
6.2.3 修改掩碼umask 140
6.2.4 修改文件的擁有者及組 141
6.2.5 添加刪除目錄 142
6.2.6 連接文件管理 142
6.2.7 當(dāng)前目錄操作 143

第7章 Linux進程管理與程序開發(fā) 147
7.1 進程環(huán)境及進程屬性 148
7.1.1 程序及進程環(huán)境 148
7.1.2 進程的基本屬性 149
7.2 Linux進程控制 153
7.2.1 創(chuàng)建進程 153
7.2.2 運行新進程 158
7.2.3 等待進程結(jié)束 160
7.2.4 退出進程 166
7.2.5 修改進程用戶相關(guān)信息 168
7.2.6 復(fù)制進程 172
7.3 Linux進程調(diào)度 173
7.3.1 進程狀態(tài) 173
7.3.2 Linux常用調(diào)度算法 174
7.3.3 調(diào)度管理函數(shù) 176

第8章 進程間通信——管道和信號 183
8.1 進程通信——無名管道 184
8.1.1 無名管道概念 184
8.1.2 無名管道管理及應(yīng)用 184
8.2 進程通信——有名管道FIFO 190
8.2.1 有名管道概念 190
8.2.2 有名管道管理及應(yīng)用 191
8.3 信號中斷處理 194
8.3.1 信號的基本概念 194
8.3.2 信號基本操作及應(yīng)用 197

第9章 System V進程間通信 209
9.1 System VIPC基礎(chǔ) 210
9.1.1 key值和ID值 210
9.1.2 擁有者及權(quán)限 211
9.2 消息隊列 212
9.2.1 消息隊列IPC原理 212
9.2.2 Linux消息隊列管理 214
9.2.3 消息隊列應(yīng)用實例 217
9.3 信號量通信機制 220
9.3.1 信號量IPC原理 220
9.3.2 Linux信號量管理操作 221
9.3.3 信號量應(yīng)用實例 226
9.4 共享內(nèi)存 229
9.4.1 共享內(nèi)存IPC原理 229
9.4.2 Linux共享內(nèi)存管理 231
9.4.3 共享內(nèi)存處理應(yīng)用示例 233
9.4.4 共享內(nèi)存處理應(yīng)用示例 235

第10章 Linux多線程編程 239
10.1 Linux線程概述 240
10.1.1 線程基本概念 240
10.1.2 線程基本應(yīng)用概述 240
10.1.3 進程/線程應(yīng)用對比 243
10.2 Linux線程基本操作 244
10.2.1 創(chuàng)建線程 244
10.2.2 退出線程 245
10.2.3 等待線程 245
10.2.4 取消線程 246
10.2.5 線程基本操作應(yīng)用實例 247
10.3 線程屬性控制 249
10.3.1 初始化線程屬性對象 250
10.3.2 獲取/設(shè)置線程屬性 251
10.3.3 線程屬性控制實例 255
10.4 線程調(diào)度 257
10.4.1 調(diào)度策略基本概念 257
10.4.2 調(diào)度策略管理 258
10.4.3 線程調(diào)度策略示例程序 259

第11章 線程間通信機制 263
11.1 互斥鎖通信機制 264
11.1.1 互斥鎖基本原理 264
11.1.2 初始化或損壞互斥鎖 265
11.1.3 鎖定/非阻塞鎖定一個互斥鎖 266
11.1.4 解鎖互斥鎖 267
11.1.5 初始化或破壞互斥鎖屬性對象 267
11.1.6 互斥鎖使用范圍 268
11.1.7 互斥鎖kind屬性設(shè)置 269
11.1.8 互斥鎖應(yīng)用實例 269
11.2 條件變量通信機制 271
11.2.1 條件變量基本原理 271
11.2.2 初始化或損壞條件變量 273
11.2.3 取消阻塞一個或所有等待條件變量的線程 274
11.2.4 等待或定時等待條件變量 274
11.2.5 初始化或破壞條件變量屬性對象 276
11.2.6 讀取/設(shè)置條件變量爭用范圍 277
11.2.7 條件變量應(yīng)用實例 277
11.3 讀寫鎖通信機制 281
11.3.1 讀寫鎖基本原理 281
11.3.2 初始化或損壞讀寫鎖 282
11.3.3 解除讀寫鎖定 283
11.3.4 鎖定或非阻塞鎖定用于讀取的讀寫鎖 283
11.3.5 鎖定或非阻塞鎖定用于寫入的讀寫鎖 284
11.3.6 初始化或破壞讀寫鎖定屬性對象 284
11.3.7 讀寫鎖屬性設(shè)置 285
11.3.8 讀寫鎖應(yīng)用實例 286
11.4 線程信號量 289
11.4.1 線程信號量基本原理 289
11.4.2 無名線程信號量管理 291
11.4.3 無名線程信號量應(yīng)用實例 293
11.4.4 命名線程信號量管理 296
11.5 線程信號 299
11.5.1 線程信號管理 299
11.5.2 示例程序 300

第12章 Linux Socket網(wǎng)絡(luò)編程 303
12.1 網(wǎng)絡(luò)通信基礎(chǔ) 304
12.1.1 TCP/IP協(xié)議簇基礎(chǔ) 304
12.1.2 IPV4基礎(chǔ) 305
12.1.3 IP數(shù)據(jù)包頭 307
12.1.4 TCP數(shù)據(jù)包頭 309
12.1.5 UDP數(shù)據(jù)包頭 311
12.2 Socket通信基本概念及過程 312
12.2.1 Socket對象實現(xiàn) 312
12.2.2 面向連接的Socket通信實現(xiàn) 314
12.2.3 面向無連接的Sockek通信實現(xiàn) 320
12.3 面向連接的TCP套接字編程實例 322
12.3.1 使用AF_UNIX實現(xiàn)本機數(shù)據(jù)流通信 322
12.3.2 使用AF_INET實現(xiàn)數(shù)據(jù)流通信 325
12.4 面向無連接的UDP套接字編程實例 328
12.5 其他Socket API應(yīng)用編程 331
12.5.1 socketpair實現(xiàn)本地進程間通信 331
12.5.2 獲取/設(shè)置socket狀態(tài) 333
12.5.3 獲取網(wǎng)絡(luò)主機條目 334
12.5.4 獲取服務(wù)條目 338
12.5.5 獲取/設(shè)置或結(jié)束協(xié)議條目 339
12.5.6 地址轉(zhuǎn)換管理操作 340
12.5.7 地址操作例行程序 341

附錄A GCC參數(shù)說明 343
附錄B gdb命令手冊 367
附錄C vim參考手冊 383
附錄D Emacs編輯器 395
附錄E CVS服務(wù)器配置 401

本目錄推薦

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