出版時(shí)間:2001-11 出版社:人民郵電出版社 作者:賈明 頁數(shù):429 字?jǐn)?shù):669
Tag標(biāo)簽:無
內(nèi)容概要
本書系統(tǒng)地介紹了在Linux平臺下用C語言進(jìn)行程序開發(fā)的過程,并通過列舉大量的程序?qū)嵗?,使讀者很快掌握在Linux平臺下進(jìn)行C程序開發(fā)的方法和技巧,并具備開發(fā)大型應(yīng)用程序的能力。 本書內(nèi)容詳實(shí),主要包括:Linux平臺下C語言編程環(huán)境的介紹,C語言編譯器、調(diào)試工具和自動維護(hù)工具的使用方法,Linux系統(tǒng)提供特有的函數(shù)調(diào)用,在C程序中訪問文件的方法,進(jìn)程的概念、進(jìn)程間通信以及多進(jìn)程同步運(yùn)行的實(shí)現(xiàn)手段,C語言網(wǎng)絡(luò)編程方法等。 本書結(jié)構(gòu)合理、概念清晰、實(shí)例豐富,并具有很強(qiáng)的啟發(fā)性和實(shí)用性,適用于在Linux系統(tǒng)下進(jìn)行C語言編程的程序員和廣大愛好者閱讀。
書籍目錄
第1篇 基礎(chǔ)篇
第1章 Linux系統(tǒng)和C語言簡介 3
1.1 Linux系統(tǒng)簡介 4
1.1.1 Linux系統(tǒng)的發(fā)展簡介 4
1.1.2 Linux系統(tǒng)的主要優(yōu)異性能 5
1.1.3 Linux系統(tǒng)的主要構(gòu)成 5
1.1.4 現(xiàn)行Linux系統(tǒng)的主要版本 6
1.2 C語言簡介 6
1.2.1 C語言概述 6
1.2.2 數(shù)據(jù)類型 7
1.2.3 運(yùn)算符和表達(dá)式 15
1.2.4 C程序語句 16
1.2.5 函數(shù) 22
1.2.6 編譯預(yù)處理 23
1.3 Linux平臺下C程序的開發(fā) 25
1.3.1 在UNIX操作系統(tǒng)下運(yùn)行C程序的步驟 25
1.3.2 用Turbo C運(yùn)行C程序的步驟 25
1.3.3 Linux平臺下C程序的開發(fā) 25
1.4 小結(jié)與練習(xí) 26
1.4.1 小結(jié) 26
1.4.2 習(xí)題與思考 26
第2章 Emacs編輯器 27
2.1 Emacs簡介 28
2.1.1 Emacs編輯器的運(yùn)行和結(jié)束 28
2.1.2 基本操作 28
2.2 C模式 30
2.2.1 自動縮進(jìn) 30
2.2.2 注釋 31
2.2.3 預(yù)處理擴(kuò)展 31
2.2.4 自動狀態(tài) 31
2.2.5 使用Emacs進(jìn)行編譯和調(diào)試 31
2.3 小結(jié)與練習(xí) 32
2.3.1 小結(jié) 32
2.3.2 習(xí)題與思考 32
第3章 C語言編譯器gcc 35
3.1 gcc的使用 36
3.1.1 一個(gè)最基本的實(shí)例 36
3.1.2 gcc的用法 37
3.1.3 警告 40
3.1.4 優(yōu)化gcc 41
3.1.5 調(diào)試標(biāo)記 46
3.1.6 使用高級gcc選項(xiàng) 48
3.2 gcc編譯流程簡介 51
3.2.1 C預(yù)處理器 cpp 51
3.2.2 GUN連接器 ld 51
3.2.3 GUN匯編器 as 51
3.2.4 文件處理器 ar 52
3.2.5 庫顯示 ldd 52
3.3 其他編譯調(diào)試工具 52
3.3.1 C++編譯器 g++ 52
3.3.2 EGCS 52
3.3.3 calls 53
3.3.4 indent 53
3.3.5 gprof 53
3.3.6 f2c和p2c 53
3.4 小結(jié)與練習(xí) 53
3.4.1 小結(jié) 53
3.4.2 習(xí)題與思考 54
第4章 調(diào)試工具gdb 55
4.1 gdb符號調(diào)試器簡介 56
4.2 gdb功能詳解及其應(yīng)用 57
4.2.1 調(diào)試步驟 57
4.2.2 顯示數(shù)據(jù)命令display和print 67
4.2.3 使用斷點(diǎn) 73
4.2.4 使用觀察窗 77
4.2.5 core dump分析 81
4.3 其他調(diào)試工具 88
4.4 小結(jié)與練習(xí) 88
4.4.1 小結(jié) 88
4.4.2 習(xí)題與思考 88
第5章 程序自動維護(hù)工具make 91
5.1 簡單使用及屬性控制 92
5.1.1 make的簡單使用 94
5.1.2 make屬性的控制 105
5.2 高級使用 112
5.2.1 宏的使用 112
5.2.2 內(nèi)部規(guī)則 118
5.2.3 make遞歸 121
5.2.4 依賴性的計(jì)算 122
5.3 庫的使用 125
5.3.1 創(chuàng)建庫和維護(hù)庫 126
5.3.2 庫的鏈接 127
5.4 小結(jié)與練習(xí) 128
5.4.1 小結(jié) 128
5.4.2 習(xí)題與思考 129
第6章 文件操作 131
6.1 文件系統(tǒng)簡介 132
6.1.1 文件 132
6.1.2 文件的相關(guān)信息 134
6.1.3 文件系統(tǒng) 135
6.2 基于文件描述符的I/O操作 136
6.2.1 文件的創(chuàng)建、打開與關(guān)閉 136
6.2.2 文件的讀寫操作 139
6.2.3 文件的定位 144
6.3 文件的其他操作 146
6.3.1 文件屬性的修改 146
6.3.2 文件的其他操作 150
6.4 特殊文件的操作 152
6.4.1 目錄文件的操作 153
6.4.2 鏈接文件的操作 154
6.4.3 管道文件的操作 157
6.4.4 設(shè)備文件 158
6.5 小結(jié)與練習(xí) 158
6.5.1 小結(jié) 158
6.5.2 習(xí)題與思考 159
第7章 輸入輸出——基于流的操作 161
7.1 流簡介 162
7.2 基于流的I/O操作 164
7.2.1 流的打開和關(guān)閉 164
7.2.2 緩沖區(qū)的操作 166
7.2.3 直接輸入輸出 167
7.2.4 格式化輸入輸出 170
7.2.5 基于字符和行的輸入輸出 173
7.3 臨時(shí)文件 178
7.4 小結(jié)與練習(xí) 182
7.4.1 小結(jié) 182
7.4.2 習(xí)題與思考 182
第8章 內(nèi)存管理 183
8.1 靜態(tài)內(nèi)存與動態(tài)內(nèi)存 184
8.1.1 靜態(tài)內(nèi)存 184
8.1.2 動態(tài)內(nèi)存 186
8.2 安全性問題 187
8.3 內(nèi)存管理操作 188
8.3.1 動態(tài)內(nèi)存的分配 188
8.3.2 動態(tài)內(nèi)存的釋放 189
8.3.3 調(diào)整動態(tài)內(nèi)存的大小 190
8.3.4 分配堆?!?92
8.3.5 內(nèi)存鎖定 193
8.4 使用鏈表 193
8.5 內(nèi)存映像I/O 197
8.5.1 創(chuàng)建內(nèi)存映像文件 198
8.5.2 撤銷內(nèi)存映像文件 199
8.5.3 將內(nèi)存映像寫入外存 199
8.5.4 改變內(nèi)存映像文件的屬性 202
8.6 小結(jié)與練習(xí) 202
8.6.1 小結(jié) 202
8.6.2 習(xí)題與思考 203
第9章 進(jìn)程控制 205
9.1 進(jìn)程的基本概念 206
9.1.1 進(jìn)程基本介紹 206
9.1.2 進(jìn)程的屬性 207
9.2 進(jìn)程控制的相關(guān)函數(shù) 208
9.2.1 進(jìn)程的創(chuàng)建 208
9.2.2 進(jìn)程等待 213
9.2.3 進(jìn)程的終止 218
9.2.4 進(jìn)程ID和進(jìn)程組ID 222
9.2.5 system函數(shù) 227
9.3 多個(gè)進(jìn)程間的關(guān)系 229
9.3.1 進(jìn)程組 229
9.3.2 時(shí)間片的分配 229
9.3.3 進(jìn)程的同步 231
9.4 線程 232
9.4.1 線程的創(chuàng)建 232
9.4.2 線程屬性的設(shè)置 232
9.4.3 結(jié)束線程 234
9.4.4 線程的掛起 234
9.4.5 取消線程 235
9.4.6 互斥 236
9.5 小結(jié)與練習(xí) 236
9.5.1 小結(jié) 236
9.5.2 習(xí)題與思考 237
第2篇 提高篇
第10章 信號及信號處理 241
10.1 信號及其使用簡介 242
10.1.1 信號簡介 242
10.1.2 信號的使用 244
10.2 信號操作的相關(guān)系統(tǒng)調(diào)用 245
10.2.1 信號處理 245
10.2.2 信號的阻塞 255
10.2.3 發(fā)送信號 262
10.3 信號處理的潛在危險(xiǎn) 272
10.4 小結(jié)與練習(xí) 272
10.4.1 小結(jié) 272
10.4.2 習(xí)題與思考 273
第11章 進(jìn)程間通信 275
11.1 簡介 276
11.2 共享內(nèi)存和信號量 276
11.2.1 SYSV子系統(tǒng)的基本概念 277
11.2.2 共享內(nèi)存 278
11.2.3 信號量 286
11.3 管道 299
11.3.1 管道的創(chuàng)建和關(guān)閉 299
11.3.2 管道的讀寫操作 301
11.4 命名管道 303
11.4.1 命名管道的創(chuàng)建 303
11.4.2 命名管道的使用 304
11.5 消息隊(duì)列 309
11.5.1 消息隊(duì)列的創(chuàng)建與打開 310
11.5.2 向消息隊(duì)列中發(fā)送消息 310
11.5.3 從消息隊(duì)列中接收消息 311
11.5.4 消息隊(duì)列的控制 312
11.6 小結(jié)與練習(xí) 314
11.6.1 小結(jié) 314
11.6.2 習(xí)題與思考 314
第12章 網(wǎng)絡(luò)編程 315
12.1 基本原理 316
12.1.1 計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)模式 316
12.1.2 TCP/IP協(xié)議 318
12.1.3 客戶/服務(wù)器模式 319
12.1.4 套接口編程基礎(chǔ) 323
12.1.5 IP地址轉(zhuǎn)換 336
12.2 TCP套接口編程 341
12.2.1 基于TCP的客戶——服務(wù)器模式 341
12.2.2 信號處理 349
12.2.3 高級技術(shù) 350
12.3 UDP套接口編程 360
12.3.1 基于UDP的客戶——服務(wù)器模式 361
12.3.2 主要系統(tǒng)調(diào)用函數(shù) 361
12.3.3 基于UDP套接口編程實(shí)例 362
12.3.4 可靠性問題 365
12.3.5 UDP套接口的連接 367
12.4 原始套接口編程 368
12.4.1 基本形式和操作 369
12.4.2 原始套接口編程實(shí)例 370
12.5 小結(jié)與練習(xí) 376
12.5.1 小結(jié) 376
12.5.2 習(xí)題與思考 376
第13章 底層終端編程 377
13.1 底層終端編程 378
13.1.1 屬性控制 378
13.1.2 使用terminfo 381
13.2 偽終端 384
13.3 小結(jié)與練習(xí) 385
13.3.1 小結(jié) 385
13.3.2 習(xí)題與思考 385
第3篇 實(shí)戰(zhàn)篇
第14章 實(shí)例一 389
14.1 實(shí)例 390
14.2 小結(jié)與練習(xí) 394
14.2.1 小結(jié) 394
14.2.2 習(xí)題與思考 394
第15章 實(shí)例二 395
15.1 實(shí)例 396
15.2 小結(jié)與練習(xí) 406
15.2.1 小結(jié) 406
15.2.2 習(xí)題與思考 406
附錄 部分習(xí)題參考答案 407
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載