注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)Linux環(huán)境C程序設(shè)計(jì)(第3版)

Linux環(huán)境C程序設(shè)計(jì)(第3版)

Linux環(huán)境C程序設(shè)計(jì)(第3版)

定 價(jià):¥139.00

作 者: 徐誠
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302654797 出版時(shí)間: 2024-03-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書是獲得大量讀者好評的“Linux典藏大系”中的《Linux環(huán)境C程序設(shè)計(jì)》(第3版),內(nèi)容豐富,從基礎(chǔ)知識到高級技術(shù)和核心原理,再到項(xiàng)目開發(fā),幾乎涵蓋Linux環(huán)境C程序設(shè)計(jì)的所有重要知識點(diǎn)?!禠inux環(huán)境C程序設(shè)計(jì)(第3版)》提供大量實(shí)例,供讀者實(shí)戰(zhàn)演練,并提供教學(xué)視頻、源程序、思維導(dǎo)圖、習(xí)題參考答案和教學(xué)PPT等超值配套資源,幫助讀者高效、直觀地學(xué)習(xí)?!禠inux環(huán)境C程序設(shè)計(jì)(第3版)》共27章,分為6篇。第1篇“Linux基礎(chǔ)知識”主要介紹Linux系統(tǒng)概述、Linux基本操作、GCC/G 編譯器、GDB調(diào)試器、開發(fā)環(huán)境搭建等;第2篇“C/C 語言基礎(chǔ)知識”主要介紹C語言編程基礎(chǔ)、數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、程序控制結(jié)構(gòu)、數(shù)組與指針、函數(shù)、字符與字符串處理、結(jié)構(gòu)體與共用體、C 語言編程基礎(chǔ)等;第3篇“Linux系統(tǒng)編程”主要介紹文件操作、文件I/O操作、進(jìn)程控制、進(jìn)程間的通信與線程控制等;第4篇“Linux網(wǎng)絡(luò)編程與數(shù)據(jù)庫開發(fā)”主要介紹網(wǎng)絡(luò)編程基礎(chǔ)、網(wǎng)絡(luò)編程函數(shù)庫、數(shù)據(jù)庫開發(fā)、Linux系統(tǒng)常用數(shù)據(jù)庫與接口等;第5篇“Linux界面開發(fā)”主要介紹界面開發(fā)基礎(chǔ)知識、界面構(gòu)件開發(fā)、界面布局、信號與事件處理、Glade程序界面設(shè)計(jì)等;第6篇“Linux環(huán)境C編程項(xiàng)目實(shí)戰(zhàn)”詳細(xì)介紹一個(gè)媒體播放器項(xiàng)目的開發(fā)過程,提高讀者的實(shí)戰(zhàn)水平。《Linux環(huán)境C程序設(shè)計(jì)(第3版)》適合所有想全面學(xué)習(xí)Linux環(huán)境C程序設(shè)計(jì)的人員閱讀,也適合基于Linux環(huán)境進(jìn)行開發(fā)的工程技術(shù)人員閱讀,還適合高等院校相關(guān)專業(yè)的學(xué)生和培訓(xùn)機(jī)構(gòu)的學(xué)員作為學(xué)習(xí)用書。

作者簡介

  徐誠,畢業(yè)于華中科技大學(xué)計(jì)算機(jī)通信工程專業(yè)。擅長C與C 編程,精通Linux內(nèi)核及其開發(fā)技術(shù)。從事Linux系統(tǒng)開發(fā)工作多年,有豐富的系統(tǒng)開發(fā)經(jīng)驗(yàn)。曾多次在專業(yè)刊物上發(fā)表技術(shù)文章,并長期在CSDN擔(dān)任社區(qū)專家。獨(dú)立開發(fā)的基于移動Linux系統(tǒng)的MISSMOBLIN人工智能助手軟件獲得Intel公司舉辦的YourMove軟件大賽中國區(qū)的第五名。

圖書目錄

第1篇  Linux基礎(chǔ)知識
第1章  Linux系統(tǒng)概述 2
1.1  引言 2
1.1.1  GNU項(xiàng)目簡介 2
1.1.2  Linux起源 2
1.1.3  Linux發(fā)展現(xiàn)狀 3
1.1.4  免費(fèi)軟件與開源軟件 3
1.2  Linux內(nèi)核與版本 4
1.2.1  Linux內(nèi)核簡介 4
1.2.2  Linux支持的硬件平臺 5
1.2.3  常用的Linux版本 5
1.3  系統(tǒng)安裝 6
1.3.1  安裝前的準(zhǔn)備 6
1.3.2  系統(tǒng)需求 7
1.3.3  硬盤分區(qū) 7
1.3.4  準(zhǔn)備安裝媒介 8
1.3.5  以圖形方式安裝Linux 8
1.3.6  升級為最新的內(nèi)核版本 10
1.3.7  安裝中文支持 10
1.4  小結(jié) 11
1.5  習(xí)題 11
第2章  Linux基本操作 12
2.1  登錄 12
2.1.1  Shell程序 12
2.1.2  控制臺 12
2.1.3  終端 13
2.2  文件和目錄 14
2.2.1  文件系統(tǒng) 14
2.2.2  文件名 15
2.2.3  路徑名 16
2.2.4  工作目錄 16
2.2.5  起始目錄 16
2.3  輸入和輸出 17
2.3.1  文件描述符 17
2.3.2  標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤 17
2.3.3  標(biāo)準(zhǔn)輸入和輸出函數(shù) 17
2.4  小結(jié) 17
2.5  習(xí)題 18
第3章  Linux C的編譯器與調(diào)試器 19
3.1  GCC和G 編譯器 19
3.1.1  GCC和G 編譯器的安裝 19
3.1.2  GCC和G 編譯命令 19
3.1.3  GCC和G 編譯選項(xiàng) 20
3.1.4  GCC和G 編譯器的執(zhí)行過程 20
3.2  程序和進(jìn)程 21
3.2.1  程序 21
3.2.2  進(jìn)程和PID 21
3.3  ANSI C標(biāo)準(zhǔn) 22
3.3.1  函數(shù)原型 22
3.3.2  類屬指針 22
3.3.3  原始系統(tǒng)數(shù)據(jù)類型 22
3.4  編譯hello world 23
3.4.1  使用Vi編寫源代碼 23
3.4.2  程序的編譯與連接 24
3.4.3  使用終端運(yùn)行程序 24
3.5  GDB調(diào)試器 24
3.5.1  GDB調(diào)試器簡介 24
3.5.2  GDB調(diào)試器的安裝 25
3.5.3  GDB常用的調(diào)試命令 25
3.5.4  在GDB中運(yùn)行程序 26
3.5.5  檢查數(shù)據(jù) 26
3.6  小結(jié) 26
3.7  習(xí)題 27
第4章  Linux開發(fā)環(huán)境 28
4.1  文本編輯工具 28
4.1.1  Vim的使用方法 28
4.1.2  Emacs的使用方法 29
4.2  集成開發(fā)環(huán)境 30
4.2.1  Eclipse簡介 30
4.2.2  Kdevelop簡介 30
4.3  使用Eclipse開發(fā)C和C 程序 31
4.3.1  安裝與配置Eclipse 31
4.3.2  Eclipse界面 31
4.3.3  編譯與運(yùn)行源代碼 32
4.3.4  調(diào)試源代碼 33
4.4  小結(jié) 33
4.5  習(xí)題 34
第2篇  C/C 語言基礎(chǔ)知識
第5章  C語言編程基礎(chǔ) 36
5.1  程序設(shè)計(jì)語言的發(fā)展 36
5.1.1  機(jī)器語言 36
5.1.2  匯編語言 36
5.1.3  高級語言 36
5.2  C語言的特點(diǎn) 37
5.2.1  C語言是中級語言 37
5.2.2  C語言是結(jié)構(gòu)化語言 38
5.2.3  C語言是程序員的語言 38
5.3  C語言的程序結(jié)構(gòu) 38
5.3.1  基本程序結(jié)構(gòu) 39
5.3.2  函數(shù)庫和鏈接 40
5.3.3  開發(fā)一個(gè)C語言程序 41
5.3.4  C語言的關(guān)鍵字 42
5.4  算法 42
5.4.1  流程圖與算法的結(jié)構(gòu)化描述 42
5.4.2  用N-S圖描述算法 44
5.4.3  用PAD圖描述算法 44
5.5  軟件工程概述 45
5.5.1  認(rèn)識軟件工程 45
5.5.2  瀑布模型及其改進(jìn) 46
5.5.3  迭代發(fā)布模型 47
5.5.4  樸素軟件工程思想 47
5.6  小結(jié) 49
5.7  習(xí)題 49
第6章  數(shù)據(jù)類型、運(yùn)算符和表達(dá)式 51
6.1  C語言的數(shù)據(jù)類型 51
6.1.1  基本類型的字長與范圍 51
6.1.2  聚合類型與修飾符 52
6.2  常量與變量 53
6.2.1  標(biāo)識符命名 53
6.2.2  常量 53
6.2.3  變量 54
6.3  整型數(shù)據(jù) 55
6.3.1  整型常量 55
6.3.2  整型變量 55
6.4  浮點(diǎn)型數(shù)據(jù) 56
6.4.1  浮點(diǎn)型常量 56
6.4.2  浮點(diǎn)型變量 56
6.5  字符型數(shù)據(jù) 57
6.5.1  字符常量 57
6.5.2  字符串常量 57
6.5.3  轉(zhuǎn)義字符 57
6.5.4  符號常量 58
6.5.5  字符變量 58
6.6  運(yùn)算符 59
6.6.1  算術(shù)運(yùn)算符 59
6.6.2  自增和自減 59
6.6.3  關(guān)系和邏輯運(yùn)算符 60
6.6.4  位操作符 61
6.6.5  問號操作符 61
6.6.6  逗號操作符 62
6.6.7  優(yōu)先級 62
6.7  表達(dá)式 63
6.7.1  表達(dá)式中的類型轉(zhuǎn)換 63
6.7.2  構(gòu)成符 63
6.7.3  空格與括號 64
6.7.4  C語言中的簡寫形式 64
6.8  C語言的預(yù)處理命令 64
6.8.1  宏替換命令 64
6.8.2  終止編譯命令 65
6.8.3  文件包含命令 65
6.8.4  條件編譯命令 66
6.8.5  修改行號命令 67
6.8.6  編譯指示命令 68
6.8.7  預(yù)定義的宏名 68
6.8.8  注釋 69
6.9  小結(jié) 69
6.10  習(xí)題 69
第7章  程序控制結(jié)構(gòu) 71
7.1  程序的3種基本結(jié)構(gòu) 71
7.2  數(shù)據(jù)的輸入與輸出 71
7.2.1  scanf()函數(shù) 71
7.2.2  printf()函數(shù) 73
7.2.3  getchar()函數(shù)與putchar()函數(shù) 74
7.3  條件控制語句 75
7.3.1  if語句 75
7.3.2  switch語句 76
7.4  循環(huán)控制語句 77
7.4.1  while語句 78
7.4.2  do-while語句 78
7.4.3  for語句 79
7.4.4  break語句與continue語句 80
7.5  媒體播放器——建立程序結(jié)構(gòu) 81
7.5.1  編寫偽代碼 81
7.5.2  建立媒體播放器的程序結(jié)構(gòu) 82
7.6  小結(jié) 84
7.7  習(xí)題 84
第8章  數(shù)組與指針 86
8.1  一維數(shù)組 86
8.1.1  一維數(shù)組的一般形式 86
8.1.2  字符串使用的一維數(shù)組 88
8.2  二維數(shù)組 89
8.2.1  二維數(shù)組的一般形式 89
8.2.2  二維字符串?dāng)?shù)組 89
8.3  多維數(shù)組 90
8.4  指針與指針變量 90
8.5  指針變量的定義與引用 92
8.5.1  指針變量的定義 92
8.5.2  指針變量的引用 93
8.6  指針與數(shù)組 93
8.6.1  指針與一維數(shù)組 94
8.6.2  指針與二維數(shù)組 94
8.6.3  指針與字符串?dāng)?shù)組 95
8.7  指針的地址分配 96
8.8  指針數(shù)組 97
8.9  指向指針的指針 97
8.10  媒體播放器——建立播放列表 98
8.10.1  建立一個(gè)播放列表 98
8.10.2  對播放列表排序 102
8.11  小結(jié) 104
8.12  習(xí)題 104
第9章  函數(shù) 106
9.1  函數(shù)說明與返回值 106
9.1.1  函數(shù)的類型說明 106
9.1.2  返回語句 107
9.2  函數(shù)的作用域規(guī)則 108
9.2.1  局部變量 108
9.2.2  全局變量 109
9.2.3  動態(tài)存儲變量 110
9.2.4  靜態(tài)存儲變量 110
9.3  函數(shù)的調(diào)用與參數(shù) 111
9.3.1  形式參數(shù)與實(shí)際參數(shù) 111
9.3.2  賦值調(diào)用與引用調(diào)用 111
9.4  遞歸 112
9.5  實(shí)現(xiàn)問題 113
9.5.1  參數(shù)和通用函數(shù) 113
9.5.2  效率 114
9.6  函數(shù)庫和文件 114
9.6.1  程序文件的大小 114
9.6.2  分類組織文件 115
9.6.3  函數(shù)庫 116
9.7  main()函數(shù)的參數(shù) 117
9.8  媒體播放器——建立核心控制模塊 117
9.8.1  通過函數(shù)傳遞參數(shù) 118
9.8.2  建立媒體播放器的核心控制模塊 121
9.9  小結(jié) 125
9.10  習(xí)題 125
第10章  字符與字符串處理 127
10.1  字符編碼 127
10.1.1  ASCII編碼 127
10.1.2  Unicode編碼 127
10.2  字符處理庫 128
10.3  字符串轉(zhuǎn)換函數(shù) 129
10.4  字符串處理函數(shù) 131
10.5  字符串比較函數(shù) 132
10.6  字符串查找函數(shù) 133
10.7  字符串內(nèi)存函數(shù) 134
10.8  字符串的其他函數(shù) 136
10.9  媒體播放器——實(shí)現(xiàn)播放列表的檢索功能 136
10.9.1  對播放列表中的整個(gè)字符串進(jìn)行排序 136
10.9.2  在播放列表中查找字符串 137
10.10  小結(jié) 142
10.11  習(xí)題 142
第11章  結(jié)構(gòu)體與共用體 144
11.1  結(jié)構(gòu)體類型變量的定義和引用 144
11.1.1  結(jié)構(gòu)體類型變量的定義 144
11.1.2  結(jié)構(gòu)體類型變量的引用 145
11.1.3  結(jié)構(gòu)體類型變量的初始化 146
11.2  結(jié)構(gòu)體數(shù)組的定義和引用 146
11.3  結(jié)構(gòu)體指針的定義和引用 147
11.3.1  使用指向結(jié)構(gòu)體類型變量的指針 147
11.3.2  使用指向結(jié)構(gòu)體類型數(shù)組的指針 148
11.4  共用體 148
11.4.1  共用體的定義 148
11.4.2  共用體變量的引用 149
11.5  媒體播放器——建立媒體庫 150
11.5.1  設(shè)計(jì)媒體庫的數(shù)據(jù)結(jié)構(gòu) 150
11.5.2  媒體庫的基本操作 153
11.5.3  在媒體庫中添加文件 155
11.5.4  在媒體庫中查找文件 158
11.5.5  從媒體庫中刪除選定的文件 159
11.5.6  刪除媒體庫中的所有文件 160
11.6  小結(jié) 160
11.7  習(xí)題 161
第12章  C 語言編程基礎(chǔ) 162
12.1  類和數(shù)據(jù)抽象 162
12.1.1  用類實(shí)現(xiàn)數(shù)據(jù)抽象 162
12.1.2  類的作用域和訪問類成員 164
12.1.3  從實(shí)現(xiàn)中分離接口 164
12.1.4  控制訪問成員 165
12.1.5  構(gòu)造函數(shù)和析構(gòu)函數(shù) 165
12.1.6  const對象和const成員函數(shù) 166
12.1.7  friend對象和friend類 167
12.1.8  this指針 168
12.1.9  動態(tài)內(nèi)存分配 168
12.1.10  static類成員 169
12.2  C 的特性 169
12.2.1  運(yùn)算符重載 170
12.2.2  繼承 171
12.2.3  虛擬函數(shù)和多態(tài)性 171
12.2.4  流輸入與輸出 172
12.2.5  模板 172
12.2.6  異常處理 173
12.3  小結(jié) 174
12.4  習(xí)題 174
第3篇  Linux系統(tǒng)編程
第13章  文件操作 176
13.1  文件的屬性與權(quán)限 176
13.1.1  文件的屬性 176
13.1.2  文件的權(quán)限 177
13.1.3  修改文件的權(quán)限 177
13.2  文件管理 178
13.2.1  系統(tǒng)調(diào)用的原理 178
13.2.2  打開文件、新建文件和關(guān)閉文件操作 178
13.2.3  文件狀態(tài)和屬性操作 181
13.2.4  目錄操作 183
13.2.5  刪除目錄或文件操作 185
13.2.6  錯(cuò)誤處理 186
13.3  媒體播放器——增強(qiáng)媒體庫的功能 186
13.3.1  在媒體庫中添加目錄 186
13.3.2  搜索本地硬盤中的所有媒體文件 188
13.4  小結(jié) 188
13.5  習(xí)題 188
第14章  文件I/O操作 190
14.1  非緩沖文件操作 190
14.1.1  使用read()函數(shù)讀取文件 190
14.1.2  使用write()函數(shù)寫入文件 191
14.1.3  隨機(jī)讀寫文件 192
14.2  緩沖文件操作 193
14.2.1  打開與關(guān)閉文件流 193
14.2.2  讀取與寫入文件流 194
14.2.3  文件流的格式化輸入與輸出 196
14.2.4  文件流的定位操作 197
14.2.5  文件流操作的其他函數(shù) 198
14.2.6  文件流操作的錯(cuò)誤處理 198
14.3  媒體播放器——完善播放列表 199
14.3.1  讀取播放列表文件 199
14.3.2  將播放列表保存為文件 201
14.4  小結(jié) 202
14.5  習(xí)題 202
第15章  進(jìn)程控制 204
15.1  進(jìn)程簡述 204
15.1.1  進(jìn)程的狀態(tài)和狀態(tài)轉(zhuǎn)換 204
15.1.2  進(jìn)程控制 207
15.1.3  進(jìn)程調(diào)度 208
15.2  進(jìn)程的基本操作 208
15.2.1  fork系統(tǒng)調(diào)用 208
15.2.2  exec系統(tǒng)調(diào)用 210
15.2.3  exit系統(tǒng)調(diào)用 211
15.2.4  wait系統(tǒng)調(diào)用 212
15.2.5  sleep系統(tǒng)調(diào)用 213
15.3  進(jìn)程的特殊操作 213
15.3.1  獲得進(jìn)程ID 213
15.3.2  設(shè)置進(jìn)程的UID和GID 214
15.3.3  設(shè)置進(jìn)程的PGID 214
15.3.4  設(shè)置進(jìn)程的當(dāng)前工作目錄 215
15.3.5  設(shè)置根目錄 215
15.3.6  設(shè)置進(jìn)程的優(yōu)先級 215
15.4  小結(jié) 215
15.5  習(xí)題 216
第16章  進(jìn)程間的通信 217
16.1  進(jìn)程之間的管道通信 217
16.1.1  pipe系統(tǒng)調(diào)用 218
16.1.2  dup系統(tǒng)調(diào)用 219
16.2  進(jìn)程之間的D-Bus通信 220
16.2.1  D-Bus的基本概念 220
16.2.2  D-Bus用例 221
16.3  媒體播放器——完善退出和音量控制功能 224
16.3.1  媒體播放器在桌面環(huán)境退出時(shí)響應(yīng) 224
16.3.2  調(diào)整系統(tǒng)音量 225
16.4  小結(jié) 227
16.5  習(xí)題 227
第17章  線程控制 228
17.1  線程的基本概念 228
17.2  線程的實(shí)現(xiàn) 228
17.2.1  用戶態(tài)線程 229
17.2.2  內(nèi)核態(tài)線程 229
17.3  POSIX線程庫 229
17.3.1  創(chuàng)建線程 229
17.3.2  結(jié)束線程 230
17.4  同步 231
17.4.1  信號量同步 232
17.4.2  互斥量同步 233
17.5  取消線程 235
17.6  多線程的實(shí)現(xiàn) 237
17.7  小結(jié) 238
17.8  習(xí)題 239
第4篇  Linux網(wǎng)絡(luò)編程與數(shù)據(jù)庫開發(fā)
第18章  網(wǎng)絡(luò)編程基礎(chǔ) 242
18.1  計(jì)算機(jī)網(wǎng)絡(luò)的組成 242
18.1.1  網(wǎng)絡(luò)結(jié)構(gòu) 242
18.1.2  OSI參考模型 244
18.1.3  TCP/IP參考模型 245
18.2  TCP/IP概述 246
18.2.1  IP與Internet 246
18.2.2  IP地址 247
18.2.3  TCP簡介 248
18.2.4  UDP簡介 249
18.3  Socket套接字 250
18.3.1  Socket套接字簡介 250
18.3.2  創(chuàng)建套接字 251
18.3.3  套接字地址 252
18.3.4  套接字的名字 252
18.3.5  創(chuàng)建套接字隊(duì)列 253
18.3.6  接受連接 253
18.3.7  請求連接 254
18.3.8  關(guān)閉連接 255
18.3.9  套接字通信 255
18.4  網(wǎng)絡(luò)通信 256
18.4.1  查詢主機(jī)名稱 257
18.4.2  Internet守護(hù)進(jìn)程 259
18.5  小結(jié) 260
18.6  習(xí)題 260
第19章  網(wǎng)絡(luò)編程函數(shù)庫 261
19.1  HTTP與FTP函數(shù)庫 261
19.1.1  libcurl函數(shù)庫簡介 261
19.1.2  libcurl函數(shù)庫中的主要函數(shù) 262
19.1.3  使用libcurl函數(shù)庫實(shí)現(xiàn)簡單的HTTP訪問 264
19.2  SMTP、POP與IMAP函數(shù)庫 265
19.2.1  使用libESMTP函數(shù)庫實(shí)現(xiàn)電子郵件的發(fā)送 265
19.2.2  使用libspopc函數(shù)庫實(shí)現(xiàn)POP訪問 267
19.2.3  使用mailutils函數(shù)庫實(shí)現(xiàn)IMAP訪問 269
19.3  即時(shí)通信函數(shù)庫 269
19.3.1  libpurple函數(shù)庫簡介 269
19.3.2  即時(shí)通信軟件的工作機(jī)制 270
19.3.3  使用libpurple函數(shù)庫接入服務(wù)器 271
19.4  小結(jié) 278
19.5  習(xí)題 278
第20章  數(shù)據(jù)庫開發(fā) 279
20.1  數(shù)據(jù)的存儲與訪問 279
20.1.1  使用數(shù)據(jù)文件 279
20.1.2  使用數(shù)據(jù)庫 283
20.2  Berkeley DB數(shù)據(jù)包 284
20.2.1  Berkeley DB數(shù)據(jù)包簡介 285
20.2.2  Berkeley DB數(shù)據(jù)包的連接和使用 286
20.2.3  Berkeley DB數(shù)據(jù)包的訪問 292
20.2.4  Berkeley DB數(shù)據(jù)包中的游標(biāo) 293
20.3  PostgreSQL數(shù)據(jù)庫服務(wù)器 295
20.3.1  PostgreSQL的基本簡介 295
20.3.2  數(shù)據(jù)庫連接函數(shù) 296
20.3.3  命令執(zhí)行函數(shù) 299
20.3.4  查詢結(jié)果檢索函數(shù) 302
20.4  小結(jié) 305
20.5  習(xí)題 306
第21章  Linux系統(tǒng)常用數(shù)據(jù)庫與接口 307
21.1  SQLite數(shù)據(jù)庫 307
21.1.1  SQLite簡介 307
21.1.2  連接SQLite數(shù)據(jù)庫 308
21.1.3  SQLite命令執(zhí)行函數(shù) 311
21.1.4  SQLite檢索查詢結(jié)果函數(shù) 312
21.2  MySQL數(shù)據(jù)庫 315
21.2.1  MySQL簡介 315
21.2.2  連接MySQL數(shù)據(jù)庫 316
21.2.3  查詢MySQL數(shù)據(jù)庫 318
21.2.4  處理MySQL查詢結(jié)果 319
21.3  大型數(shù)據(jù)庫與通用數(shù)據(jù)庫接口 321
21.3.1  連接Oracle數(shù)據(jù)庫 321
21.3.2  通用數(shù)據(jù)庫接口 323
21.4  媒體播放器——媒體庫的數(shù)據(jù)庫實(shí)現(xiàn) 329
21.4.1  建立和連接數(shù)據(jù)庫 329
21.4.2  建立媒體庫數(shù)據(jù)表 330
21.4.3  管理媒體庫數(shù)據(jù)表 331
21.5  小結(jié) 335
21.6  習(xí)題 335
第5篇  Linux界面開發(fā)
第22章  界面開發(fā)基礎(chǔ)知識 338
22.1  Linux常用的桌面環(huán)境 338
22.1.1  GNOME桌面環(huán)境 338
22.1.2  KDE桌面環(huán)境 339
22.2  GTK 圖形環(huán)境簡介 340
22.3  GLib函數(shù)庫簡介 341
22.3.1  基礎(chǔ)類型 341
22.3.2  對核心應(yīng)用的支持 341
22.3.3  實(shí)用功能 343
22.3.4  數(shù)據(jù)類型 344
22.4  GObject對象簡介 345
22.4.1  對象系統(tǒng) 345
22.4.2  GObject系統(tǒng)中的宏定義 346
22.4.3  GTypeInfo結(jié)構(gòu) 348
22.4.4  信號機(jī)制 349
22.5  2D圖形引擎Cairo簡介 349
22.6  多媒體函數(shù)庫GStreamer簡介 351
22.6.1  過濾器 351
22.6.2  襯墊 352
22.6.3  箱柜 352
22.6.4  精靈襯墊 353
22.7  搭建GTK 開發(fā)環(huán)境 355
22.8  小結(jié) 356
22.9  習(xí)題 357
第23章  界面構(gòu)件開發(fā) 358
23.1  常用的界面構(gòu)件 358
23.1.1  按鈕構(gòu)件 358
23.1.2  調(diào)整對象 361
23.1.3  范圍構(gòu)件 361
23.1.4  標(biāo)簽構(gòu)件 362
23.1.5  工具提示對象 363
23.1.6  進(jìn)度條 363
23.1.7  對話框 363
23.1.8  狀態(tài)欄 364
23.1.9  文本輸入構(gòu)件 365
23.1.10  微調(diào)按鈕 367
23.1.11  組合輸入框 369
23.1.12  日歷構(gòu)件 369
23.1.13  顏色選擇對話框 370
23.1.14  文件選擇構(gòu)件 371
23.2  復(fù)合構(gòu)件 372
23.2.1  快捷標(biāo)簽 373
23.2.2  字體選擇對話框 374
23.2.3  消息對話框 377
23.2.4  圖像構(gòu)件 379
23.2.5  文本視區(qū)構(gòu)件 381
23.3  菜單相關(guān)構(gòu)件 381
23.3.1  菜單欄 382
23.3.2  菜單構(gòu)件 382
23.3.3  菜單項(xiàng) 384
23.3.4  復(fù)選菜單項(xiàng) 387
23.3.5  單選菜單項(xiàng) 389
23.3.6  分隔菜單項(xiàng) 390
23.4  小結(jié) 390
23.5  習(xí)題 390
第24章  界面布局 392
24.1  界面布局簡介 392
24.1.1  界面的寬度與高度 392
24.1.2  窗體的基本構(gòu)件 393
24.1.3  布局約定 395
24.2  組裝盒構(gòu)件 396
24.2.1  組裝盒的原理 397
24.2.2  組裝盒示例 398
24.2.3  網(wǎng)格組裝的原理 399
24.2.4  網(wǎng)格組裝示例 400
24.3  容器 401
24.3.1  事件盒 401
24.3.2  固定容器 403
24.3.3  布局容器 404
24.3.4  框架構(gòu)件 405
24.3.5  比例框架 408
24.3.6  分欄窗體構(gòu)件 409
24.3.7  視角構(gòu)件 410
24.3.8  滾動條窗體 410
24.3.9  按鈕盒 412
24.3.10  工具欄 415
24.3.11  筆記本 417
24.4  媒體播放器——界面實(shí)現(xiàn) 421
24.4.1  使用原型法設(shè)計(jì)媒體播放器界面 421
24.4.2  編寫媒體播放器界面代碼 425
24.5  小結(jié) 433
24.6  習(xí)題 433
第25章  信號與事件處理 435
25.1  信號函數(shù)與回調(diào)函數(shù) 435
25.1.1  信號函數(shù) 435
25.1.2  回調(diào)函數(shù) 439
25.2  常用的GTK 信號與事件 440
25.2.1  GtkObject類信號 441
25.2.2  GtkWidget界面構(gòu)件信號 442
25.2.3  GtkWindow窗體構(gòu)件信號 450
25.2.4  GtkContainer容器構(gòu)件信號 451
25.2.5  GtkCalendar日歷構(gòu)件信號 451
25.2.6  GtkTextView文本視區(qū)構(gòu)件信號 452
25.3  小結(jié) 453
25.4  習(xí)題 453
第26章  Glade程序界面設(shè)計(jì) 455
26.1  Glade簡介 455
26.2  構(gòu)造圖形界面 456
26.2.1  添加窗體 456
26.2.2  添加容器 460
26.2.3  添加構(gòu)件 465
26.2.4  設(shè)置構(gòu)件屬性 468
26.2.5  添加事件和回調(diào)函數(shù) 469
26.3  C語言代碼聯(lián)編 471
26.3.1  使用GTK 函數(shù)庫連接Glade項(xiàng)目文件 471
26.3.2  使用GTK 的多語言支持功能 473
26.4  小結(jié) 476
26.5  習(xí)題 476
第6篇  Linux 環(huán)境C編程項(xiàng)目實(shí)戰(zhàn)
第27章  編程項(xiàng)目實(shí)戰(zhàn)——媒體播放器的實(shí)現(xiàn) 480
27.1  軟件工程實(shí)戰(zhàn) 480
27.1.1  項(xiàng)目需求分析 480
27.1.2  軟件需求說明 481
27.1.3  項(xiàng)目視圖的解決方案 481
27.2  軟件設(shè)計(jì) 482
27.2.1  需求分析 482
27.2.2  制訂開發(fā)計(jì)劃 482
27.2.3  分工協(xié)作 483
27.3  版本控制 483
27.3.1  Git服務(wù)器搭建 483
27.3.2  Git的上傳和備份 485
27.4  在Eclipse中使用Git 486
27.4.1  將代碼上傳到服務(wù)器上 486
27.4.2  將代碼導(dǎo)入Eclipse 488
27.5  音量控制對話框 490
27.5.1  創(chuàng)建對話框 490
27.5.2  添加垂直比例尺 491
27.5.3  測試 491
27.6  播放列表對話框 492
27.6.1  創(chuàng)建對話框 492
27.6.2  創(chuàng)建工具條和工具條按鈕 493
27.6.3  創(chuàng)建樹視圖 495
27.6.4  創(chuàng)建對話框按鈕 495
27.6.5  測試 496
27.7  媒體庫對話框 497
27.7.1  創(chuàng)建對話框 497
27.7.2  創(chuàng)建工具條和工具條按鈕 497
27.7.3  創(chuàng)建分類部件和媒體信息顯示部件 499
27.7.4  創(chuàng)建搜索部件 500
27.7.5  創(chuàng)建對話框按鈕 501
27.7.6  測試 501
27.8  播放控制模塊的實(shí)現(xiàn) 504
27.8.1  播放控制模塊程序結(jié)構(gòu) 504
27.8.2  MP3播放功能的實(shí)現(xiàn) 505
27.8.3  播放中的回調(diào)處理 508
27.9  系統(tǒng)集成 510
27.10  主程序文件的實(shí)現(xiàn) 510
27.10.1  頭文件和主函數(shù)入口 510
27.10.2  媒體庫模塊初始化 511
27.10.3  圖形界面初始化 512
27.10.4  退出前的清理 512
27.10.5  編譯和運(yùn)行 513
27.11  媒體庫功能集成 513
27.11.1  初始化 513
27.11.2  顯示媒體庫對話框 513
27.11.3  添加文件 520
27.11.4  添加目錄 522
27.11.5  刪除文件信息 523
27.11.6  刪除所有的文件信息 525
27.11.7  搜索本地文件 526
27.11.8  向播放列表傳遞文件 527
27.11.9  查找 528
27.12  播放列表功能集成 529
27.12.1  初始化 530
27.12.2  顯示播放列表對話框 530
27.12.3  添加文件 532
27.12.4  添加目錄 534
27.12.5  打開文件 535
27.12.6  保存文件 536
27.12.7  刪除文件 537
27.12.8  刪除全部 538
27.12.9  排序 539
27.13  播放控制模塊集成 540
27.13.1  播放模式設(shè)置 540
27.13.2  開始播放 540
27.13.3  暫停播放 541
27.13.4  停止播放 542
27.13.5  播放上一首 542
27.13.6  播放下一首 542
27.14  小結(jié) 543

本目錄推薦

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