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

Linux C編程實(shí)戰(zhàn)

Linux C編程實(shí)戰(zhàn)

定 價(jià):¥49.00

作 者: 童永清
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: Linux

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115174086 出版時(shí)間: 2008-04-01 包裝: 平裝
開(kāi)本: 16 頁(yè)數(shù): 412 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)系統(tǒng)地介紹了在Linux平臺(tái)下用C語(yǔ)言進(jìn)行程序開(kāi)發(fā)的過(guò)程,集趣味性、實(shí)戰(zhàn)性于一體的160多段代碼實(shí)例,幫助讀者快速掌握在Linux平臺(tái)下進(jìn)行C語(yǔ)言程序開(kāi)發(fā)的方法和技巧,并通過(guò)一個(gè)原創(chuàng)的BT軟件下載綜合案例的講解,引導(dǎo)讀者具備開(kāi)發(fā)大型應(yīng)用程序的能力。本書(shū)內(nèi)容翔實(shí),主要包括:Linux系統(tǒng)下C語(yǔ)言及其編程環(huán)境的介紹,系統(tǒng)編程的所有主題——文件和目錄、進(jìn)程、線程、信號(hào)、進(jìn)程間通信、網(wǎng)絡(luò)編程和圖形界面編程、出錯(cuò)處理、庫(kù)的創(chuàng)建與使用、編寫(xiě)安全的代碼等。本書(shū)結(jié)構(gòu)合理、概念清晰,依照“基礎(chǔ)知識(shí)→難點(diǎn)解析→重點(diǎn)提示→編程實(shí)踐”的講解方式,使讀者理解更深入、應(yīng)用更容易、掌握更快速。隨書(shū)的光盤(pán)包括:全部源代碼及相關(guān)學(xué)習(xí)資料。本書(shū)適合有一定C語(yǔ)言基礎(chǔ),需要在Linux系統(tǒng)上編程的程序設(shè)計(jì)人員閱讀,可作為各類(lèi)培訓(xùn)學(xué)校培訓(xùn)教材,也可作為大中專(zhuān)院校師生的教材或參考書(shū)。

作者簡(jiǎn)介

  ?

圖書(shū)目錄

第一篇 Linux和C編程基礎(chǔ)
第1章 Linux系統(tǒng)概述 2
1.1 Linux操作系統(tǒng)介紹 2
1.1.1 Linux的發(fā)展歷程 2
1.1.2 Linux的特性 2
1.1.3 Linux的內(nèi)核版本和發(fā)行版本 3
1.2 C語(yǔ)言簡(jiǎn)介 4
1.2.1 C語(yǔ)言的發(fā)展歷史 4
1.2.2 C語(yǔ)言的特點(diǎn) 5
1.3 Linux的安裝、啟動(dòng)與關(guān)閉 5
1.4 Linux的基本使用 5
1.4.1 Linux終端 5
1.4.2 Linux Shell 5
1.4.3 Linux的常用命令 6
1.5 Linux下程序的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)過(guò)程 9
1.6 習(xí)題 12
第2章 C編程基礎(chǔ)、Vi和Emacs編輯器 13
2.1 C程序的結(jié)構(gòu) 13
2.2 C語(yǔ)言的基本數(shù)據(jù)類(lèi)型 14
2.2.1 整型 14
2.2.2 浮點(diǎn)型 16
2.2.3 字符型 17
2.3 運(yùn)算符和表達(dá)式 19
2.3.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式 20
2.3.2 賦值運(yùn)算符與賦值表達(dá)式 22
2.3.3 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式 22
2.4 標(biāo)準(zhǔn)輸入輸出函數(shù) 23
2.4.1 字符輸出函數(shù)putchar 23
2.4.2 字符輸入函數(shù)getchar 24
2.4.3 格式化輸出函數(shù)printf 24
2.4.4 格式化輸入函數(shù)scanf 26
2.5 Vi編輯器的使用 27
2.5.1 Vi的工作模式 27
2.5.2 啟動(dòng)Vi 28
2.5.3 保存文件和退出Vi 29
2.5.4 光標(biāo)的移動(dòng) 29
2.5.5 文本的刪除 30
2.5.6 文本查找和替換 30
2.5.7 文本的復(fù)制與粘貼 30
2.6 Emacs編輯器的使用 31
2.7 命名規(guī)范 33
2.7.1 標(biāo)識(shí)符 33
2.7.2 關(guān)鍵字 33
2.7.3 命名規(guī)范 33
2.8 面試題選與實(shí)例精講 34
2.8.1 面試題選 34
2.8.2 實(shí)例精講 35
2.9 習(xí)題 37
第3章 C程序控制結(jié)構(gòu)和gcc編譯器 38
3.1 C程序的控制結(jié)構(gòu) 38
3.1.1 C程序語(yǔ)句概述 38
3.1.2 C程序的3種基本控制結(jié)構(gòu) 39
3.2 分支控制結(jié)構(gòu) 40
3.2.1 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 40
3.2.2 邏輯運(yùn)算符與邏輯表達(dá)式 41
3.2.3 if語(yǔ)句 42
3.2.4 switch語(yǔ)句 44
3.3 循環(huán)控制結(jié)構(gòu) 46
3.3.1 while語(yǔ)句 46
3.3.2 do...while語(yǔ)句 47
3.3.3 for語(yǔ)句 48
3.3.4 break語(yǔ)句和continue語(yǔ)句 50
3.4 gcc編譯器 51
3.4.1 程序的編譯過(guò)程 51
3.4.2 gcc的常用選項(xiàng) 52
3.4.3 gcc的報(bào)錯(cuò)類(lèi)型及對(duì)策 54
3.5 面試題選與實(shí)例精講 55
3.5.1 面試題選 55
3.5.2 實(shí)例精講 56
3.6 習(xí)題 58
第4章 C函數(shù)、數(shù)組、指針和調(diào)試器gdb 59
4.1 函數(shù) 59
4.1.1 函數(shù)的定義 59
4.1.2 函數(shù)的調(diào)用 61
4.1.3 變量的訪問(wèn)控制和存儲(chǔ)類(lèi)別 64
4.2 數(shù)組 67
4.2.1 一維數(shù)組的定義和使用 67
4.2.2 二維數(shù)組的定義和使用 67
4.2.3 字符數(shù)組和字符串 69
4.3 指針 70
4.3.1 地址和指針 70
4.3.2 指針的定義和使用 71
4.3.3 指針和數(shù)組 72
4.3.4 指針和函數(shù) 75
4.3.5 指向字符串的指針 79
4.4 字符串函數(shù) 82
4.4.1 puts和gets 82
4.4.2 strcpy和strncpy 82
4.4.3 strcat和strncat 83
4.4.4 strcmp和strncmp 83
4.4.5 strlen 84
4.4.6 strlwr和strupr 84
4.4.7 strstr和strchr 84
4.5 調(diào)試器gdb 85
4.5.1 啟動(dòng)和退出gdb 85
4.5.2 顯示和查找程序源代碼 86
4.5.3 執(zhí)行程序和獲得幫助 87
4.5.4 設(shè)置和管理斷點(diǎn) 87
4.5.5 查看和設(shè)置變量的值 91
4.5.6 控制程序的執(zhí)行 93
4.6 面試題選 95
4.7 習(xí)題 106
第5章 C語(yǔ)言預(yù)處理、結(jié)構(gòu)體和make的使用 107
5.1 C語(yǔ)言預(yù)處理命令 107
5.1.1 宏定義 107
5.1.2 文件包含 109
5.1.3 條件編譯 110
5.2 結(jié)構(gòu)體和共用體 111
5.2.1 聲明和引用結(jié)構(gòu)體 111
5.2.2 結(jié)構(gòu)體和數(shù)組 113
5.2.3 結(jié)構(gòu)體和指針 114
5.2.4 共用體 116
5.2.5 使用typedef 117
5.3 位運(yùn)算 117
5.3.1 位運(yùn)算符和位運(yùn)算 117
5.3.2 位域 119
5.4 make的使用和Makefile的編寫(xiě) 120
5.4.1 make的一般使用 121
5.4.2 Makefile文件的構(gòu)成 123
5.4.3 使用變量 127
5.4.4 隱含規(guī)則 131
5.4.5 使用條件語(yǔ)句 132
5.4.6 使用庫(kù) 133
5.4.7 make命令參數(shù)詳解 134
5.5 面試題選 135
5.6 進(jìn)一步學(xué)習(xí)建議 140
5.7 習(xí)題 140
第二篇 Linux系統(tǒng)編程
第6章 文件操作 142
6.1 系統(tǒng)編程概述 142
6.2 Linux的文件結(jié)構(gòu) 142
6.2.1 Linux的文件系統(tǒng)模型 143
6.2.2 文件的分類(lèi) 144
6.2.3 文件的訪問(wèn)權(quán)限控制 145
6.3 文件的輸入輸出 147
6.3.1 文件的創(chuàng)建、打開(kāi)與關(guān)閉 147
6.3.2 文件的讀寫(xiě) 149
6.3.3 文件讀寫(xiě)指針的移動(dòng) 150
6.3.4 dup、dup2、fcntl、ioctl系統(tǒng)調(diào)用 152
6.4 文件屬性操作 160
6.4.1 獲取文件屬性 160
6.4.2 設(shè)置文件屬性 162
6.5 文件的移動(dòng)和刪除 164
6.5.1 文件的移動(dòng) 164
6.5.2 文件的刪除 165
6.6 目錄操作 166
6.6.1 目錄的創(chuàng)建和刪除 166
6.6.2 獲取當(dāng)前目錄 167
6.6.3 設(shè)置工作目錄 167
6.6.4 獲取目錄信息 168
6.7 編程實(shí)踐:實(shí)現(xiàn)自己的ls命令 170
6.8 習(xí)題 176
第7章 進(jìn)程控制 177
7.1 進(jìn)程概述 177
7.1.1 Linux進(jìn)程 177
7.1.2 進(jìn)程控制 179
7.1.3 進(jìn)程的內(nèi)存映像 179
7.2 進(jìn)程操作 180
7.2.1 創(chuàng)建進(jìn)程 180
7.2.2 創(chuàng)建守護(hù)進(jìn)程 185
7.2.3 進(jìn)程退出 187
7.2.4 執(zhí)行新程序 188
7.2.5 等待進(jìn)程結(jié)束 191
7.3 進(jìn)程的其他操作 194
7.3.1 獲得進(jìn)程ID 194
7.3.2 setuid和setgid 194
7.3.3 改變進(jìn)程的優(yōu)先級(jí) 196
7.4 編程實(shí)踐:實(shí)現(xiàn)自己的myshell 197
7.5 習(xí)題 203
第8章 線程控制 204
8.1 線程和進(jìn)程關(guān)系 204
8.2 創(chuàng)建線程 205
8.2.1 線程創(chuàng)建函數(shù)pthread_create 205
8.2.2 線程屬性 207
8.3 線程終止 208
8.4 私有數(shù)據(jù) 210
8.5 線程同步 212
8.5.1 互斥鎖 212
8.5.2 條件變量 213
8.5.3 異步信號(hào) 216
8.6 出錯(cuò)處理 216
8.6.1 錯(cuò)誤檢查 216
8.6.2 錯(cuò)誤碼 217
8.6.3 錯(cuò)誤的提示信息 218
8.7 習(xí)題 219
第9章 信號(hào)及信號(hào)處理 220
9.1 Linux信號(hào)介紹 220
9.1.1 信號(hào)的來(lái)源 220
9.1.2 信號(hào)的種類(lèi) 220
9.1.3 進(jìn)程對(duì)信號(hào)的響應(yīng) 223
9.2 信號(hào)處理 223
9.2.1 信號(hào)的捕捉和處理 223
9.2.2 信號(hào)處理函數(shù)的返回 227
9.2.3 信號(hào)的發(fā)送 231
9.2.4 信號(hào)的屏蔽 236
9.3 編程中如何獲得幫助 240
9.4 編程實(shí)踐:應(yīng)用實(shí)例 240
9.4.1 實(shí)例一:信號(hào)的發(fā)送與處理 240
9.4.2 實(shí)例二:信號(hào)應(yīng)用于事件通知 242
9.5 習(xí)題 244
第10章 進(jìn)程間通信 245
10.1 進(jìn)程間通信概述 245
10.2 管道 246
10.2.1 管道的概念 246
10.2.2 管道的創(chuàng)建與讀寫(xiě) 246
10.2.3 管道的應(yīng)用實(shí)例 250
10.3 有名管道 251
10.3.1 有名管道的概念 251
10.3.2 有名管道的創(chuàng)建與讀寫(xiě) 252
10.3.3 有名管道的應(yīng)用實(shí)例 253
10.4 消息對(duì)列 256
10.4.1 消息對(duì)列的基本概念 256
10.4.2 消息隊(duì)列的創(chuàng)建與讀寫(xiě) 257
10.4.3 獲取和設(shè)置消息隊(duì)列的屬性 260
10.4.4 消息隊(duì)列的應(yīng)用實(shí)例 262
10.5 信號(hào)量 265
10.5.1 信號(hào)量的基本概念 265
10.5.2 信號(hào)量的創(chuàng)建與使用 265
10.5.3 信號(hào)量的應(yīng)用實(shí)例 268
10.6 共享內(nèi)存 270
10.6.1 共享內(nèi)存的數(shù)據(jù)結(jié)構(gòu) 270
10.6.2 共享內(nèi)存的創(chuàng)建與操作 270
10.6.3 共享內(nèi)存的應(yīng)用實(shí)例 271
10.7 庫(kù)的創(chuàng)建和使用 275
10.7.1 Linux庫(kù)的概念 275
10.7.2 靜態(tài)庫(kù)的創(chuàng)建和使用 276
10.7.3 動(dòng)態(tài)庫(kù)的創(chuàng)建和使用 277
10.8 進(jìn)一步學(xué)習(xí)建議 279
10.9 習(xí)題 279
第三篇 Linux網(wǎng)絡(luò)和圖形界面編程
第11章 網(wǎng)絡(luò)編程 282
11.1 網(wǎng)絡(luò)編程基本原理 282
11.1.1 網(wǎng)絡(luò)模型與協(xié)議 282
11.1.2 地址 284
11.1.3 端口 285
11.1.4 IP協(xié)議 285
11.1.5 用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP 286
11.1.6 傳輸控制協(xié)議TCP 286
11.1.7 客戶(hù)機(jī)/服務(wù)器模型 287
11.2 套接字編程 287
11.2.1 套接字地址結(jié)構(gòu) 288
11.2.2 創(chuàng)建套接字 288
11.2.3 建立連接 289
11.2.4 綁定套接字 290
11.2.5 在套接字上監(jiān)聽(tīng) 290
11.2.6 接受連接 291
11.2.7 TCP套接字的數(shù)據(jù)傳輸 291
11.2.8 UDP套接字的數(shù)據(jù)傳輸 292
11.2.9 關(guān)閉套接字 294
11.2.10 主要系統(tǒng)調(diào)用函數(shù) 294
11.3 一個(gè)面向連接的Client/Server實(shí)例 301
11.4 編寫(xiě)安全的代碼 308
11.4.1 網(wǎng)絡(luò)攻擊 308
11.4.2 緩沖區(qū)溢出 309
11.4.3 輸入檢查 310
11.5 編程實(shí)踐:編程實(shí)現(xiàn)端口掃描器實(shí)例 311
11.6 進(jìn)一步學(xué)習(xí)建議 314
11.7 習(xí)題 314
第12章 GTK+圖形界面編程 368
12.1 Linux下的圖形界面編程 315
12.1.1 Qt和GTK+ 315
12.1.2 GTK+簡(jiǎn)介 315
12.2 一個(gè)簡(jiǎn)單的例子 316
12.3 消息和回調(diào)函數(shù) 319
12.4 GTK+的面向?qū)ο髾C(jī)制 320
12.5 排列控件 323
12.5.1 使用box排列控件 323
12.5.2 使用table排列控件 325
12.6 常用控件 330
12.6.1 進(jìn)度條、微條按鈕、組合框 330
12.6.2 表格控件 332
12.6.3 生成對(duì)話框 333
12.6.4 使用菜單 334
12.7 進(jìn)一步學(xué)習(xí)建議 336
第四篇 Linux項(xiàng)目實(shí)踐
第13章 項(xiàng)目實(shí)踐:BT下載軟件的開(kāi)發(fā) 338
13.1 BT軟件簡(jiǎn)述 338
13.2 BitTorrent協(xié)議 339
13.2.1 概要介紹 339
13.2.2 基于BT協(xié)議的文件分發(fā)系統(tǒng)的構(gòu)成 339
13.2.3 B編碼 340
13.2.4 種子文件的結(jié)構(gòu) 340
13.2.5 與Tracker交互 342
13.2.6 peer之間的通信協(xié)議 343
13.2.7 關(guān)鍵算法和策略 345
13.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 347
13.4 各個(gè)模塊的設(shè)計(jì)和實(shí)現(xiàn) 348
13.4.1 種子解析模塊的設(shè)計(jì)和實(shí)現(xiàn) 349
13.4.2 位圖管理模塊的設(shè)計(jì)和實(shí)現(xiàn) 359
13.4.3 出錯(cuò)處理模塊的設(shè)計(jì)和實(shí)現(xiàn) 363
13.4.4 運(yùn)行日志模塊的設(shè)計(jì)和實(shí)現(xiàn) 364
13.4.5 信號(hào)處理模塊的設(shè)計(jì)和實(shí)現(xiàn) 365
13.4.6 Peer管理模塊的設(shè)計(jì)和實(shí)現(xiàn) 366
13.4.7 消息處理模塊的設(shè)計(jì)和實(shí)現(xiàn) 372
13.4.8 緩沖管理模塊的設(shè)計(jì)和實(shí)現(xiàn) 384
13.4.9 策略管理模塊的設(shè)計(jì)和實(shí)現(xiàn) 393
13.4.10 連接Tracker模塊的設(shè)計(jì)和實(shí)現(xiàn) 397
13.4.11 與peer交換數(shù)據(jù)模塊的設(shè)計(jì)和實(shí)現(xiàn) 403
13.4.12 主函數(shù)的設(shè)計(jì)和實(shí)現(xiàn) 411
13.4.13 調(diào)試和測(cè)試 412

本目錄推薦

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