Linux程序設(shè)計(jì)(第4版)
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
Linux程序設(shè)計(jì)(第4版) 版權(quán)信息
- ISBN:9787115228215
- 條形碼:9787115228215 ; 978-7-115-22821-5
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
Linux程序設(shè)計(jì)(第4版) 本書特色
適讀人群 :LINUX程序員**負(fù)盛名的Linux程序設(shè)計(jì)圖書 內(nèi)容全、深入 全球開源社區(qū)集體智慧結(jié)晶 Linux/UNIX專業(yè)人士傾力打造
Linux程序設(shè)計(jì)(第4版) 內(nèi)容簡介
本書講述了Linux系統(tǒng)及其他UNIX風(fēng)格的操作系統(tǒng)上的程序開發(fā),主要內(nèi)容包括標(biāo)準(zhǔn)Linux C語言函數(shù)庫和由不同的Linux或UNIX標(biāo)準(zhǔn)指定的各種工具的使用方法,大多數(shù)標(biāo)準(zhǔn)Linux開發(fā)工具的使用方法,通過DBM和MySQL數(shù)據(jù)庫系統(tǒng)存儲Linux中的數(shù)據(jù),為X視窗系統(tǒng)建立圖形化用戶界面等。本書通過先介紹程序設(shè)計(jì)理論,再以適當(dāng)?shù)睦雍颓逦慕忉寔黻U明它的方式,幫助讀者掌握相關(guān)的知識。 本書適合Linux的初學(xué)者及希望利用Linux進(jìn)行開發(fā)的程序人員閱讀,也適合作為高等院校計(jì)算機(jī)相關(guān)專業(yè)師生的參考教材。
Linux程序設(shè)計(jì)(第4版) 目錄
第 1章 入門 1
1.1 UNIX、Linux和GNU簡介 1
1.1.1 什么是UNIX 1
1.1.2 什么是Linux 2
1.1.3 GNU項(xiàng)目和自由軟件基金會 3
1.1.4 Linux發(fā)行版 3
1.2 Linux程序設(shè)計(jì) 4
1.2.1 Linux程序 4
1.2.2 文本編輯器 5
1.2.3 C語言編譯器 5
1.2.4 開發(fā)系統(tǒng)導(dǎo)引 7
1.3 獲得幫助 12
1.4 小結(jié) 14
第 2章 shell程序設(shè)計(jì) 15
2.1 為什么使用shell編程 15
2.2 一點(diǎn)哲學(xué) 16
2.3 什么是shell 16
2.4 管道和重定向 18
2.4.1 重定向輸出 18
2.4.2 重定向輸入 19
2.4.3 管道 19
2.5 作為程序設(shè)計(jì)語言的shell 20
2.5.1 交互式程序 20
2.5.2 創(chuàng)建腳本 21
2.5.3 把腳本設(shè)置為可執(zhí)行 22
2.6 shell的語法 23
2.6.1 變量 23
2.6.2 條件 27
2.6.3 控制結(jié)構(gòu) 29
2.6.4 函數(shù) 39
2.6.5 命令 42
2.6.6 命令的執(zhí)行 58
2.6.7 here文檔 61
2.6.8 調(diào)試腳本程序 63
2.7 邁向圖形化:dialog工具 63
2.8 綜合應(yīng)用 68
2.8.1 需求 68
2.8.2 設(shè)計(jì) 68
2.8.3 應(yīng)用程序的說明 76
2.9 小結(jié) 77
第3章 文件操作 78
3.1 Linux文件結(jié)構(gòu) 78
3.1.1 目錄 79
3.1.2 文件和設(shè)備 79
3.2 系統(tǒng)調(diào)用和設(shè)備驅(qū)動程序 80
3.3 庫函數(shù) 81
3.4 底層文件訪問 82
3.4.1 write系統(tǒng)調(diào)用 82
3.4.2 read系統(tǒng)調(diào)用 83
3.4.3 open系統(tǒng)調(diào)用 84
3.4.4 訪問權(quán)限的初始值 85
3.4.5 其他與文件管理有關(guān)的系統(tǒng)調(diào)用 88
3.5 標(biāo)準(zhǔn)I/O庫 91
3.5.1 fopen函數(shù) 91
3.5.2 fread函數(shù) 92
3.5.3 fwrite函數(shù) 92
3.5.4 fclose函數(shù) 92
3.5.5 fflush函數(shù) 93
3.5.6 fseek函數(shù) 93
3.5.7 fgetc、getc和getchar函數(shù) 93
3.5.8 fputc、putc和putchar函數(shù) 94
3.5.9 fgets和gets函數(shù) 94
3.6 格式化輸入和輸出 94
3.6.1 printf、fprintf和sprintf函數(shù) 94
3.6.2 scanf、fscanf和sscanf函數(shù) 96
3.6.3 其他流函數(shù) 98
3.6.4 文件流錯(cuò)誤 99
3.6.5 文件流和文件描述符 99
3.7 文件和目錄的維護(hù) 100
3.7.1 chmod系統(tǒng)調(diào)用 100
3.7.2 chown系統(tǒng)調(diào)用 100
3.7.3 unlink、link和symlink系統(tǒng)調(diào)用 100
3.7.4 mkdir和rmdir系統(tǒng)調(diào)用 101
3.7.5 chdir系統(tǒng)調(diào)用和getcwd函數(shù) 101
3.8 掃描目錄 102
3.8.1 opendir函數(shù) 102
3.8.2 readdir函數(shù) 102
3.8.3 telldir函數(shù) 103
3.8.4 seekdir函數(shù) 103
3.8.5 closedir函數(shù) 103
3.9 錯(cuò)誤處理 106
3.9.1 strerror函數(shù) 106
3.9.2 perror函數(shù) 106
3.10 /proc文件系統(tǒng) 107
3.11 高 級主題:fcntl和mmap 110
3.11.1 fcntl系統(tǒng)調(diào)用 110
3.11.2 mmap函數(shù) 111
3.12 小結(jié) 113
第4章 Linux環(huán)境 114
4.1 程序參數(shù) 114
4.1.1 getopt 116
4.1.2 getopt_long 118
4.2 環(huán)境變量 120
4.2.1 環(huán)境變量的用途 122
4.2.2 environ變量 122
4.3 時(shí)間和日期 123
4.4 臨時(shí)文件 129
4.5 用戶信息 131
4.6 主機(jī)信息 134
4.7 日志 135
4.8 資源和限制 139
4.9 小結(jié) 143
第5章 終端 144
5.1 對終端進(jìn)行讀寫 144
5.2 與終端進(jìn)行對話 149
5.3 終端驅(qū)動程序和通用終端接口 151
5.3.1 概述 151
5.3.2 硬件模型 151
5.4 termios結(jié)構(gòu) 152
5.4.1 輸入模式 153
5.4.2 輸出模式 154
5.4.3 控制模式 155
5.4.4 本地模式 155
5.4.5 特殊控制字符 155
5.4.6 終端速度 158
5.4.7 其他函數(shù) 159
5.5 終端的輸出 162
5.5.1 終端的類型 163
5.5.2 識別終端類型 163
5.5.3 使用terminfo功能標(biāo)志 165
5.6 檢測擊鍵動作 170
5.7 虛擬控制臺 172
5.8 偽終端 173
5.9 小結(jié) 174
第6章 使用curses函數(shù)庫管理基于文本的屏幕 175
6.1 用curses函數(shù)庫進(jìn)行編譯 175
6.2 curses術(shù)語和概念 176
6.3 屏幕 178
6.3.1 輸出到屏幕 179
6.3.2 從屏幕讀取 180
6.3.3 清除屏幕 180
6.3.4 移動光標(biāo) 180
6.3.5 字符屬性 181
6.4 鍵盤 183
6.4.1 鍵盤模式 183
6.4.2 鍵盤輸入 184
6.5 窗口 185
6.5.1 WINDOW結(jié)構(gòu) 185
6.5.2 通用函數(shù) 186
6.5.3 移動和更新窗口 187
6.5.4 優(yōu)化屏幕刷新 190
6.6 子窗口 191
6.7 keypad模式 193
6.8 彩色顯示 195
6.9 pad 198
6.10 CD唱片應(yīng)用程序 200
6.10.1 新CD唱片應(yīng)用程序的開始部分 200
6.10.2 main函數(shù) 202
6.10.3 建立菜單 203
6.10.4 操作數(shù)據(jù)庫文件 204
6.10.5 查詢CD數(shù)據(jù)庫 209
6.11 小結(jié) 213
第7章 數(shù)據(jù)管理 214
7.1 內(nèi)存管理 214
7.1.1 簡單的內(nèi)存分配 214
7.1.2 分配大量的內(nèi)存 215
7.1.3 濫用內(nèi)存 218
7.1.4 空指針 219
7.1.5 釋放內(nèi)存 220
7.1.6 其他內(nèi)存分配函數(shù) 221
7.2 文件鎖定 222
7.2.1 創(chuàng)建鎖文件 222
7.2.2 區(qū)域鎖定 225
7.2.3 鎖定狀態(tài)下的讀寫操作 227
7.2.4 文件鎖的競爭 232
7.2.5 其他鎖命令 236
7.2.6 死鎖 236
7.3 數(shù)據(jù)庫 237
7.3.1 dbm數(shù)據(jù)庫 237
7.3.2 dbm例程 238
7.3.3 dbm訪問函數(shù) 239
7.3.4 其他dbm函數(shù) 242
7.4 CD唱片應(yīng)用程序 244
7.4.1 更新設(shè)計(jì) 244
7.4.2 使用dbm數(shù)據(jù)庫的CD唱片應(yīng)用程序 245
7.5 小結(jié) 262
第8章 MySQL 263
8.1 安裝 263
8.1.1 MySQL軟件包 264
8.1.2 安裝后的配置 266
8.1.3 安裝后的故障修復(fù) 270
8.2 MySQL管理 270
8.2.1 命令 270
8.2.2 創(chuàng)建用戶并賦予權(quán)限 274
8.2.3 密碼 276
8.2.4 創(chuàng)建數(shù)據(jù)庫 276
8.2.5 數(shù)據(jù)類型 277
8.2.6 創(chuàng)建表 278
8.2.7 圖形化工具 280
8.3 使用C語言訪問MySQL數(shù)據(jù) 283
8.3.1 連接例程 283
8.3.2 錯(cuò)誤處理 287
8.3.3 執(zhí)行SQL語句 288
8.3.4 更多的函數(shù) 301
8.4 CD數(shù)據(jù)庫應(yīng)用程序 301
8.4.1 創(chuàng)建表 302
8.4.2 添加數(shù)據(jù) 304
8.4.3 使用C語言訪問數(shù)據(jù) 306
8.5 小結(jié) 316
第9章 開發(fā)工具 317
9.1 多個(gè)源文件帶來的問題 317
9.2 make命令和makefile文件 318
9.2.1 makefile的語法 318
9.2.2 make命令的選項(xiàng)和參數(shù) 318
9.2.3 makefile文件中的注釋 321
9.2.4 makefile文件中的宏 321
9.2.5 多個(gè)目標(biāo) 323
9.2.6 內(nèi)置規(guī)則 325
9.2.7 后綴和模式規(guī)則 326
9.2.8 用make管理函數(shù)庫 327
9.2.9 高 級主題:makefile文件和子目錄 329
9.2.10 GNU make和gcc 329
9.3 源代碼控制 330
9.3.1 RCS 331
9.3.2 SCCS 336
9.3.3 RCS和SCCS的比較 336
9.3.4 CVS 337
9.3.5 CVS的前端程序 340
9.3.6 Subversion 341
9.4 編寫手冊頁 342
9.5 發(fā)行軟件 345
9.5.1 patch程序 345
9.5.2 其他軟件發(fā)行工具 347
9.6 RPM軟件包 349
9.6.1 使用RPM軟件包文件 349
9.6.2 安裝RPM軟件包 350
9.6.3 創(chuàng)建RPM軟件包 350
9.7 其他軟件包格式 358
9.8 開發(fā)環(huán)境 358
9.8.1 KDevelop 358
9.8.2 其他開發(fā)環(huán)境 360
9.9 小結(jié) 360
第 10章 調(diào)試 361
10.1 錯(cuò)誤類型 361
10.2 常用調(diào)試技巧 362
10.2.1 有漏洞的程序 362
10.2.2 代碼檢查 364
10.2.3 取樣法 365
10.2.4 程序的受控執(zhí)行 367
10.3 使用gdb進(jìn)行調(diào)試 368
10.3.1 啟動gdb 368
10.3.2 運(yùn)行一個(gè)程序 369
10.3.3 棧跟蹤 369
10.3.4 檢查變量 370
10.3.5 列出程序源代碼 370
10.3.6 設(shè)置斷點(diǎn) 371
10.3.7 用調(diào)試器打補(bǔ)丁 374
10.3.8 深入學(xué)習(xí)gdb 375
10.4 其他調(diào)試工具 375
10.4.1 lint:清理程序中的“垃圾” 376
10.4.2 函數(shù)調(diào)用工具 378
10.4.3 用prof/gprof產(chǎn)生執(zhí)行存檔 380
10.5 斷言 381
10.6 內(nèi)存調(diào)試 383
10.6.1 ElectricFence函數(shù)庫 383
10.6.2 valgrind 384
10.7 小結(jié) 387
第 11章 進(jìn)程和信號 388
11.1 什么是進(jìn)程 388
11.2 進(jìn)程的結(jié)構(gòu) 388
11.2.1 進(jìn)程表 390
11.2.2 查看進(jìn)程 390
11.2.3 系統(tǒng)進(jìn)程 391
11.2.4 進(jìn)程調(diào)度 393
11.3 啟動新進(jìn)程 394
11.3.1 等待一個(gè)進(jìn)程 399
11.3.2 僵尸進(jìn)程 401
11.3.3 輸入和輸出重定向 403
11.3.4 線程 404
11.4 信號 404
11.4.1 發(fā)送信號 408
11.4.2 信號集 412
11.5 小結(jié) 415
第 12章 POSIX線程 416
12.1 什么是線程 416
12.2 線程的優(yōu)點(diǎn)和缺點(diǎn) 417
12.3 第 一個(gè)線程程序 418
12.4 同時(shí)執(zhí)行 421
12.5 同步 423
12.5.1 用信號量進(jìn)行同步 423
12.5.2 用互斥量進(jìn)行同步 427
12.6 線程的屬性 431
12.7 取消一個(gè)線程 435
12.8 多線程 438
12.9 小結(jié) 442
第 13章 進(jìn)程間通信:管道 443
13.1 什么是管道 443
13.2 進(jìn)程管道 444
13.3 將輸出送往popen 445
13.3.1 傳遞更多的數(shù)據(jù) 446
13.3.2 如何實(shí)現(xiàn)popen 447
13.4 pipe調(diào)用 449
13.5 父進(jìn)程和子進(jìn)程 451
13.5.1 管道關(guān)閉后的讀操作 453
13.5.2 把管道用作標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出 454
13.6 命名管道:FIFO 456
13.6.1 訪問FIFO文件 458
13.6.2 高 級主題:使用FIFO的客戶/服務(wù)器應(yīng)用程序 464
13.7 CD數(shù)據(jù)庫應(yīng)用程序 468
13.7.1 目標(biāo) 469
13.7.2 實(shí)現(xiàn) 469
13.7.3 客戶接口函數(shù) 472
13.7.4 服務(wù)器接口server.c 478
13.7.5 管道 481
13.7.6 對CD數(shù)據(jù)庫應(yīng)用程序的總結(jié) 487
13.8 小結(jié) 487
第 14章 信號量、共享內(nèi)存和消息隊(duì)列 488
14.1 信號量 488
14.1.1 信號量的定義 489
14.1.2 一個(gè)理論性的例子 489
14.1.3 Linux的信號量機(jī)制 490
14.1.4 使用信號量 492
14.2 共享內(nèi)存 496
14.2.1 shmget函數(shù) 497
14.2.2 shmat函數(shù) 497
14.2.3 shmdt 498
14.2.4 shmctl 498
14.3 消息隊(duì)列 502
14.3.1 msgget函數(shù) 502
14.3.2 msgsnd函數(shù) 503
14.3.3 msgrcv函數(shù) 503
14.3.4 msgctl函數(shù) 504
14.4 CD數(shù)據(jù)庫應(yīng)用程序 507
14.4.1 修改服務(wù)器函數(shù) 507
14.4.2 修改客戶函數(shù) 509
14.5 IPC狀態(tài)命令 511
14.5.1 顯示信號量狀態(tài) 511
14.5.2 顯示共享內(nèi)存狀態(tài) 511
14.5.3 顯示消息隊(duì)列狀態(tài) 511
14.6 小結(jié) 512
第 15章 套接字 513
15.1 什么是套接字 513
15.2 套接字連接 513
15.2.1 套接字屬性 517
15.2.2 創(chuàng)建套接字 519
15.2.3 套接字地址 520
15.2.4 命名套接字 520
15.2.5 創(chuàng)建套接字隊(duì)列 521
15.2.6 接受連接 521
15.2.7 請求連接 522
15.2.8 關(guān)閉套接字 523
15.2.9 套接字通信 523
15.2.10 主機(jī)字節(jié)序和網(wǎng)絡(luò)字節(jié)序 525
15.3 網(wǎng)絡(luò)信息 527
15.3.1 因特網(wǎng)守護(hù)進(jìn)程(xinetd/inetd) 531
15.3.2 套接字選項(xiàng) 533
15.4 多客戶 534
15.4.1 select系統(tǒng)調(diào)用 537
15.4.2 多客戶 540
15.5 數(shù)據(jù)報(bào) 543
15.6 小結(jié) 545
第 16章 用GTK+進(jìn)行GNOME編程 546
16.1 X視窗系統(tǒng)簡介 546
16.1.1 X服務(wù)器 547
16.1.2 X客戶端 547
16.1.3 X協(xié)議 547
16.1.4 Xlib庫 547
16.1.5 X工具包 547
16.1.6 窗口管理器 548
16.1.7 創(chuàng)建GUI的其他方法——平臺無關(guān)的窗囗API 548
16.2 GTK+簡介 549
16.2.1 GLib類型系統(tǒng) 549
16.2.2 GTK+對象系統(tǒng) 550
16.2.3 GNOME簡介 550
16.2.4 安裝GNOME/GTK+開發(fā)庫 551
16.3 事件、信號和回調(diào)函數(shù) 554
16.4 組裝盒構(gòu)件 556
16.5 GTK+構(gòu)件 559
16.5.1 GtkWindow 559
16.5.2 GtkEntry 560
16.5.3 GtkSpinButton 563
16.5.4 GtkButton 565
16.5.5 GtkTreeView 568
16.6 GNOME構(gòu)件 571
16.7 GNOME菜單 572
16.8 對話框 576
16.8.1 GtkDialog 577
16.8.2 模式對話框 578
16.8.3 非模式對話框 579
16.8.4 GtkMessageDialog 580
16.9 CD數(shù)據(jù)庫應(yīng)用程序 581
16.10 小結(jié) 592
第 17章 用Qt進(jìn)行KDE編程 593
17.1 KDE和Qt簡介 593
17.2 安裝Qt 594
17.3 信號和槽 596
17.4 Qt構(gòu)件 602
17.4.1 QLineEdit 602
17.4.2 Qt按鈕 605
17.4.3 QComboBox 609
17.4.4 QListView 613
17.5 對話框 615
17.5.1 QDialog 615
17.5.2 QMessageBox 617
17.5.3 QInputDialog 618
17.5.4 使用qmake簡化makefile文件的編寫 620
17.6 KDE的菜單和工具欄 620
17.7 使用KDE/Qt編寫CD數(shù)據(jù)庫應(yīng)用程序 624
17.7.1 主窗口 624
17.7.2 AddCdDialog 627
17.7.3 LogonDialog 629
17.7.4 main.cpp 630
17.8 小結(jié) 632
第 18章 Linux標(biāo)準(zhǔn) 633
18.1 C編程語言 634
18.1.1 發(fā)展歷史簡介 634
18.1.2 GNU編譯器集 634
18.1.3 gcc選項(xiàng) 635
18.2 接口和LSB 636
18.2.1 LSB標(biāo)準(zhǔn)函數(shù)庫 637
18.2.2 LSB用戶和組 638
18.2.3 LSB系統(tǒng)初始化 638
18.3 文件系統(tǒng)層次結(jié)構(gòu)標(biāo)準(zhǔn) 639
18.4 更多標(biāo)準(zhǔn) 642
18.5 小結(jié) 642
Linux程序設(shè)計(jì)(第4版) 作者簡介
陳健,畢業(yè)于南京大學(xué),1996年獲電子學(xué)學(xué)士,2002年獲計(jì)算機(jī)碩士,現(xiàn)工作于南京大學(xué)網(wǎng)絡(luò)信息中心。長期從事軟件研發(fā)和教學(xué)工作,主要研究方向?yàn)榫W(wǎng)絡(luò)管理。
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
龍榆生:詞曲概論/大家小書
- >
隨園食單
- >
羅曼·羅蘭讀書隨筆-精裝
- >
莉莉和章魚
- >
苦雨齋序跋文-周作人自編集
- >
山海經(jīng)
- >
煙與鏡