日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

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

Linux C編程實戰(zhàn)

Linux C編程實戰(zhàn)

定 價:¥49.00

作 者: 童永清
出版社: 人民郵電出版社
叢編項:
標 簽: Linux

ISBN: 9787115174086 出版時間: 2008-04-01 包裝: 平裝
開本: 16 頁數(shù): 412 字數(shù):  

內(nèi)容簡介

  本書系統(tǒng)地介紹了在Linux平臺下用C語言進行程序開發(fā)的過程,集趣味性、實戰(zhàn)性于一體的160多段代碼實例,幫助讀者快速掌握在Linux平臺下進行C語言程序開發(fā)的方法和技巧,并通過一個原創(chuàng)的BT軟件下載綜合案例的講解,引導讀者具備開發(fā)大型應(yīng)用程序的能力。本書內(nèi)容翔實,主要包括:Linux系統(tǒng)下C語言及其編程環(huán)境的介紹,系統(tǒng)編程的所有主題——文件和目錄、進程、線程、信號、進程間通信、網(wǎng)絡(luò)編程和圖形界面編程、出錯處理、庫的創(chuàng)建與使用、編寫安全的代碼等。本書結(jié)構(gòu)合理、概念清晰,依照“基礎(chǔ)知識→難點解析→重點提示→編程實踐”的講解方式,使讀者理解更深入、應(yīng)用更容易、掌握更快速。隨書的光盤包括:全部源代碼及相關(guān)學習資料。本書適合有一定C語言基礎(chǔ),需要在Linux系統(tǒng)上編程的程序設(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語言簡介 4
1.2.1 C語言的發(fā)展歷史 4
1.2.2 C語言的特點 5
1.3 Linux的安裝、啟動與關(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下程序的開發(fā)環(huán)境和開發(fā)過程 9
1.6 習題 12
第2章 C編程基礎(chǔ)、Vi和Emacs編輯器 13
2.1 C程序的結(jié)構(gòu) 13
2.2 C語言的基本數(shù)據(jù)類型 14
2.2.1 整型 14
2.2.2 浮點型 16
2.2.3 字符型 17
2.3 運算符和表達式 19
2.3.1 算術(shù)運算符與算術(shù)表達式 20
2.3.2 賦值運算符與賦值表達式 22
2.3.3 逗號運算符與逗號表達式 22
2.4 標準輸入輸出函數(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 啟動Vi 28
2.5.3 保存文件和退出Vi 29
2.5.4 光標的移動 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 標識符 33
2.7.2 關(guān)鍵字 33
2.7.3 命名規(guī)范 33
2.8 面試題選與實例精講 34
2.8.1 面試題選 34
2.8.2 實例精講 35
2.9 習題 37
第3章 C程序控制結(jié)構(gòu)和gcc編譯器 38
3.1 C程序的控制結(jié)構(gòu) 38
3.1.1 C程序語句概述 38
3.1.2 C程序的3種基本控制結(jié)構(gòu) 39
3.2 分支控制結(jié)構(gòu) 40
3.2.1 關(guān)系運算符與關(guān)系表達式 40
3.2.2 邏輯運算符與邏輯表達式 41
3.2.3 if語句 42
3.2.4 switch語句 44
3.3 循環(huán)控制結(jié)構(gòu) 46
3.3.1 while語句 46
3.3.2 do...while語句 47
3.3.3 for語句 48
3.3.4 break語句和continue語句 50
3.4 gcc編譯器 51
3.4.1 程序的編譯過程 51
3.4.2 gcc的常用選項 52
3.4.3 gcc的報錯類型及對策 54
3.5 面試題選與實例精講 55
3.5.1 面試題選 55
3.5.2 實例精講 56
3.6 習題 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 變量的訪問控制和存儲類別 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 啟動和退出gdb 85
4.5.2 顯示和查找程序源代碼 86
4.5.3 執(zhí)行程序和獲得幫助 87
4.5.4 設(shè)置和管理斷點 87
4.5.5 查看和設(shè)置變量的值 91
4.5.6 控制程序的執(zhí)行 93
4.6 面試題選 95
4.7 習題 106
第5章 C語言預(yù)處理、結(jié)構(gòu)體和make的使用 107
5.1 C語言預(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 位運算 117
5.3.1 位運算符和位運算 117
5.3.2 位域 119
5.4 make的使用和Makefile的編寫 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 使用條件語句 132
5.4.6 使用庫 133
5.4.7 make命令參數(shù)詳解 134
5.5 面試題選 135
5.6 進一步學習建議 140
5.7 習題 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 文件的分類 144
6.2.3 文件的訪問權(quán)限控制 145
6.3 文件的輸入輸出 147
6.3.1 文件的創(chuàng)建、打開與關(guān)閉 147
6.3.2 文件的讀寫 149
6.3.3 文件讀寫指針的移動 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 文件的移動和刪除 164
6.5.1 文件的移動 164
6.5.2 文件的刪除 165
6.6 目錄操作 166
6.6.1 目錄的創(chuàng)建和刪除 166
6.6.2 獲取當前目錄 167
6.6.3 設(shè)置工作目錄 167
6.6.4 獲取目錄信息 168
6.7 編程實踐:實現(xiàn)自己的ls命令 170
6.8 習題 176
第7章 進程控制 177
7.1 進程概述 177
7.1.1 Linux進程 177
7.1.2 進程控制 179
7.1.3 進程的內(nèi)存映像 179
7.2 進程操作 180
7.2.1 創(chuàng)建進程 180
7.2.2 創(chuàng)建守護進程 185
7.2.3 進程退出 187
7.2.4 執(zhí)行新程序 188
7.2.5 等待進程結(jié)束 191
7.3 進程的其他操作 194
7.3.1 獲得進程ID 194
7.3.2 setuid和setgid 194
7.3.3 改變進程的優(yōu)先級 196
7.4 編程實踐:實現(xiàn)自己的myshell 197
7.5 習題 203
第8章 線程控制 204
8.1 線程和進程關(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 異步信號 216
8.6 出錯處理 216
8.6.1 錯誤檢查 216
8.6.2 錯誤碼 217
8.6.3 錯誤的提示信息 218
8.7 習題 219
第9章 信號及信號處理 220
9.1 Linux信號介紹 220
9.1.1 信號的來源 220
9.1.2 信號的種類 220
9.1.3 進程對信號的響應(yīng) 223
9.2 信號處理 223
9.2.1 信號的捕捉和處理 223
9.2.2 信號處理函數(shù)的返回 227
9.2.3 信號的發(fā)送 231
9.2.4 信號的屏蔽 236
9.3 編程中如何獲得幫助 240
9.4 編程實踐:應(yīng)用實例 240
9.4.1 實例一:信號的發(fā)送與處理 240
9.4.2 實例二:信號應(yīng)用于事件通知 242
9.5 習題 244
第10章 進程間通信 245
10.1 進程間通信概述 245
10.2 管道 246
10.2.1 管道的概念 246
10.2.2 管道的創(chuàng)建與讀寫 246
10.2.3 管道的應(yīng)用實例 250
10.3 有名管道 251
10.3.1 有名管道的概念 251
10.3.2 有名管道的創(chuàng)建與讀寫 252
10.3.3 有名管道的應(yīng)用實例 253
10.4 消息對列 256
10.4.1 消息對列的基本概念 256
10.4.2 消息隊列的創(chuàng)建與讀寫 257
10.4.3 獲取和設(shè)置消息隊列的屬性 260
10.4.4 消息隊列的應(yīng)用實例 262
10.5 信號量 265
10.5.1 信號量的基本概念 265
10.5.2 信號量的創(chuàng)建與使用 265
10.5.3 信號量的應(yīng)用實例 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)用實例 271
10.7 庫的創(chuàng)建和使用 275
10.7.1 Linux庫的概念 275
10.7.2 靜態(tài)庫的創(chuàng)建和使用 276
10.7.3 動態(tài)庫的創(chuàng)建和使用 277
10.8 進一步學習建議 279
10.9 習題 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 用戶數(shù)據(jù)報協(xié)議UDP 286
11.1.6 傳輸控制協(xié)議TCP 286
11.1.7 客戶機/服務(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)聽 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 一個面向連接的Client/Server實例 301
11.4 編寫安全的代碼 308
11.4.1 網(wǎng)絡(luò)攻擊 308
11.4.2 緩沖區(qū)溢出 309
11.4.3 輸入檢查 310
11.5 編程實踐:編程實現(xiàn)端口掃描器實例 311
11.6 進一步學習建議 314
11.7 習題 314
第12章 GTK+圖形界面編程 368
12.1 Linux下的圖形界面編程 315
12.1.1 Qt和GTK+ 315
12.1.2 GTK+簡介 315
12.2 一個簡單的例子 316
12.3 消息和回調(diào)函數(shù) 319
12.4 GTK+的面向?qū)ο髾C制 320
12.5 排列控件 323
12.5.1 使用box排列控件 323
12.5.2 使用table排列控件 325
12.6 常用控件 330
12.6.1 進度條、微條按鈕、組合框 330
12.6.2 表格控件 332
12.6.3 生成對話框 333
12.6.4 使用菜單 334
12.7 進一步學習建議 336
第四篇 Linux項目實踐
第13章 項目實踐:BT下載軟件的開發(fā) 338
13.1 BT軟件簡述 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è)計 347
13.4 各個模塊的設(shè)計和實現(xiàn) 348
13.4.1 種子解析模塊的設(shè)計和實現(xiàn) 349
13.4.2 位圖管理模塊的設(shè)計和實現(xiàn) 359
13.4.3 出錯處理模塊的設(shè)計和實現(xiàn) 363
13.4.4 運行日志模塊的設(shè)計和實現(xiàn) 364
13.4.5 信號處理模塊的設(shè)計和實現(xiàn) 365
13.4.6 Peer管理模塊的設(shè)計和實現(xiàn) 366
13.4.7 消息處理模塊的設(shè)計和實現(xiàn) 372
13.4.8 緩沖管理模塊的設(shè)計和實現(xiàn) 384
13.4.9 策略管理模塊的設(shè)計和實現(xiàn) 393
13.4.10 連接Tracker模塊的設(shè)計和實現(xiàn) 397
13.4.11 與peer交換數(shù)據(jù)模塊的設(shè)計和實現(xiàn) 403
13.4.12 主函數(shù)的設(shè)計和實現(xiàn) 411
13.4.13 調(diào)試和測試 412

本目錄推薦

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