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

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

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

定 價:¥139.00

作 者: 徐誠
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1篇  Linux基礎知識
第1章  Linux系統(tǒng)概述 2
1.1  引言 2
1.1.1  GNU項目簡介 2
1.1.2  Linux起源 2
1.1.3  Linux發(fā)展現(xiàn)狀 3
1.1.4  免費軟件與開源軟件 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  安裝前的準備 6
1.3.2  系統(tǒng)需求 7
1.3.3  硬盤分區(qū) 7
1.3.4  準備安裝媒介 8
1.3.5  以圖形方式安裝Linux 8
1.3.6  升級為最新的內(nèi)核版本 10
1.3.7  安裝中文支持 10
1.4  小結 11
1.5  習題 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  標準輸入、標準輸出和標準錯誤 17
2.3.3  標準輸入和輸出函數(shù) 17
2.4  小結 17
2.5  習題 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 編譯選項 20
3.1.4  GCC和G 編譯器的執(zhí)行過程 20
3.2  程序和進程 21
3.2.1  程序 21
3.2.2  進程和PID 21
3.3  ANSI C標準 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  使用終端運行程序 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中運行程序 26
3.5.5  檢查數(shù)據(jù) 26
3.6  小結 26
3.7  習題 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  編譯與運行源代碼 32
4.3.4  調(diào)試源代碼 33
4.4  小結 33
4.5  習題 34
第2篇  C/C 語言基礎知識
第5章  C語言編程基礎 36
5.1  程序設計語言的發(fā)展 36
5.1.1  機器語言 36
5.1.2  匯編語言 36
5.1.3  高級語言 36
5.2  C語言的特點 37
5.2.1  C語言是中級語言 37
5.2.2  C語言是結構化語言 38
5.2.3  C語言是程序員的語言 38
5.3  C語言的程序結構 38
5.3.1  基本程序結構 39
5.3.2  函數(shù)庫和鏈接 40
5.3.3  開發(fā)一個C語言程序 41
5.3.4  C語言的關鍵字 42
5.4  算法 42
5.4.1  流程圖與算法的結構化描述 42
5.4.2  用N-S圖描述算法 44
5.4.3  用PAD圖描述算法 44
5.5  軟件工程概述 45
5.5.1  認識軟件工程 45
5.5.2  瀑布模型及其改進 46
5.5.3  迭代發(fā)布模型 47
5.5.4  樸素軟件工程思想 47
5.6  小結 49
5.7  習題 49
第6章  數(shù)據(jù)類型、運算符和表達式 51
6.1  C語言的數(shù)據(jù)類型 51
6.1.1  基本類型的字長與范圍 51
6.1.2  聚合類型與修飾符 52
6.2  常量與變量 53
6.2.1  標識符命名 53
6.2.2  常量 53
6.2.3  變量 54
6.3  整型數(shù)據(jù) 55
6.3.1  整型常量 55
6.3.2  整型變量 55
6.4  浮點型數(shù)據(jù) 56
6.4.1  浮點型常量 56
6.4.2  浮點型變量 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  運算符 59
6.6.1  算術運算符 59
6.6.2  自增和自減 59
6.6.3  關系和邏輯運算符 60
6.6.4  位操作符 61
6.6.5  問號操作符 61
6.6.6  逗號操作符 62
6.6.7  優(yōu)先級 62
6.7  表達式 63
6.7.1  表達式中的類型轉(zhuǎn)換 63
6.7.2  構成符 63
6.7.3  空格與括號 64
6.7.4  C語言中的簡寫形式 64
6.8  C語言的預處理命令 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  預定義的宏名 68
6.8.8  注釋 69
6.9  小結 69
6.10  習題 69
第7章  程序控制結構 71
7.1  程序的3種基本結構 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  媒體播放器——建立程序結構 81
7.5.1  編寫偽代碼 81
7.5.2  建立媒體播放器的程序結構 82
7.6  小結 84
7.7  習題 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  二維字符串數(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  指針與字符串數(shù)組 95
8.7  指針的地址分配 96
8.8  指針數(shù)組 97
8.9  指向指針的指針 97
8.10  媒體播放器——建立播放列表 98
8.10.1  建立一個播放列表 98
8.10.2  對播放列表排序 102
8.11  小結 104
8.12  習題 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ù) 111
9.3.2  賦值調(diào)用與引用調(diào)用 111
9.4  遞歸 112
9.5  實現(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  小結 125
9.10  習題 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  媒體播放器——實現(xiàn)播放列表的檢索功能 136
10.9.1  對播放列表中的整個字符串進行排序 136
10.9.2  在播放列表中查找字符串 137
10.10  小結 142
10.11  習題 142
第11章  結構體與共用體 144
11.1  結構體類型變量的定義和引用 144
11.1.1  結構體類型變量的定義 144
11.1.2  結構體類型變量的引用 145
11.1.3  結構體類型變量的初始化 146
11.2  結構體數(shù)組的定義和引用 146
11.3  結構體指針的定義和引用 147
11.3.1  使用指向結構體類型變量的指針 147
11.3.2  使用指向結構體類型數(shù)組的指針 148
11.4  共用體 148
11.4.1  共用體的定義 148
11.4.2  共用體變量的引用 149
11.5  媒體播放器——建立媒體庫 150
11.5.1  設計媒體庫的數(shù)據(jù)結構 150
11.5.2  媒體庫的基本操作 153
11.5.3  在媒體庫中添加文件 155
11.5.4  在媒體庫中查找文件 158
11.5.5  從媒體庫中刪除選定的文件 159
11.5.6  刪除媒體庫中的所有文件 160
11.6  小結 160
11.7  習題 161
第12章  C 語言編程基礎 162
12.1  類和數(shù)據(jù)抽象 162
12.1.1  用類實現(xiàn)數(shù)據(jù)抽象 162
12.1.2  類的作用域和訪問類成員 164
12.1.3  從實現(xiàn)中分離接口 164
12.1.4  控制訪問成員 165
12.1.5  構造函數(shù)和析構函數(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  運算符重載 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  小結 174
12.4  習題 174
第3篇  Linux系統(tǒng)編程
第13章  文件操作 176
13.1  文件的屬性與權限 176
13.1.1  文件的屬性 176
13.1.2  文件的權限 177
13.1.3  修改文件的權限 177
13.2  文件管理 178
13.2.1  系統(tǒng)調(diào)用的原理 178
13.2.2  打開文件、新建文件和關閉文件操作 178
13.2.3  文件狀態(tài)和屬性操作 181
13.2.4  目錄操作 183
13.2.5  刪除目錄或文件操作 185
13.2.6  錯誤處理 186
13.3  媒體播放器——增強媒體庫的功能 186
13.3.1  在媒體庫中添加目錄 186
13.3.2  搜索本地硬盤中的所有媒體文件 188
13.4  小結 188
13.5  習題 188
第14章  文件I/O操作 190
14.1  非緩沖文件操作 190
14.1.1  使用read()函數(shù)讀取文件 190
14.1.2  使用write()函數(shù)寫入文件 191
14.1.3  隨機讀寫文件 192
14.2  緩沖文件操作 193
14.2.1  打開與關閉文件流 193
14.2.2  讀取與寫入文件流 194
14.2.3  文件流的格式化輸入與輸出 196
14.2.4  文件流的定位操作 197
14.2.5  文件流操作的其他函數(shù) 198
14.2.6  文件流操作的錯誤處理 198
14.3  媒體播放器——完善播放列表 199
14.3.1  讀取播放列表文件 199
14.3.2  將播放列表保存為文件 201
14.4  小結 202
14.5  習題 202
第15章  進程控制 204
15.1  進程簡述 204
15.1.1  進程的狀態(tài)和狀態(tài)轉(zhuǎn)換 204
15.1.2  進程控制 207
15.1.3  進程調(diào)度 208
15.2  進程的基本操作 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  進程的特殊操作 213
15.3.1  獲得進程ID 213
15.3.2  設置進程的UID和GID 214
15.3.3  設置進程的PGID 214
15.3.4  設置進程的當前工作目錄 215
15.3.5  設置根目錄 215
15.3.6  設置進程的優(yōu)先級 215
15.4  小結 215
15.5  習題 216
第16章  進程間的通信 217
16.1  進程之間的管道通信 217
16.1.1  pipe系統(tǒng)調(diào)用 218
16.1.2  dup系統(tǒng)調(diào)用 219
16.2  進程之間的D-Bus通信 220
16.2.1  D-Bus的基本概念 220
16.2.2  D-Bus用例 221
16.3  媒體播放器——完善退出和音量控制功能 224
16.3.1  媒體播放器在桌面環(huán)境退出時響應 224
16.3.2  調(diào)整系統(tǒng)音量 225
16.4  小結 227
16.5  習題 227
第17章  線程控制 228
17.1  線程的基本概念 228
17.2  線程的實現(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  結束線程 230
17.4  同步 231
17.4.1  信號量同步 232
17.4.2  互斥量同步 233
17.5  取消線程 235
17.6  多線程的實現(xiàn) 237
17.7  小結 238
17.8  習題 239
第4篇  Linux網(wǎng)絡編程與數(shù)據(jù)庫開發(fā)
第18章  網(wǎng)絡編程基礎 242
18.1  計算機網(wǎng)絡的組成 242
18.1.1  網(wǎng)絡結構 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)建套接字隊列 253
18.3.6  接受連接 253
18.3.7  請求連接 254
18.3.8  關閉連接 255
18.3.9  套接字通信 255
18.4  網(wǎng)絡通信 256
18.4.1  查詢主機名稱 257
18.4.2  Internet守護進程 259
18.5  小結 260
18.6  習題 260
第19章  網(wǎng)絡編程函數(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ù)庫實現(xiàn)簡單的HTTP訪問 264
19.2  SMTP、POP與IMAP函數(shù)庫 265
19.2.1  使用libESMTP函數(shù)庫實現(xiàn)電子郵件的發(fā)送 265
19.2.2  使用libspopc函數(shù)庫實現(xiàn)POP訪問 267
19.2.3  使用mailutils函數(shù)庫實現(xiàn)IMAP訪問 269
19.3  即時通信函數(shù)庫 269
19.3.1  libpurple函數(shù)庫簡介 269
19.3.2  即時通信軟件的工作機制 270
19.3.3  使用libpurple函數(shù)庫接入服務器 271
19.4  小結 278
19.5  習題 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ù)包中的游標 293
20.3  PostgreSQL數(shù)據(jù)庫服務器 295
20.3.1  PostgreSQL的基本簡介 295
20.3.2  數(shù)據(jù)庫連接函數(shù) 296
20.3.3  命令執(zhí)行函數(shù) 299
20.3.4  查詢結果檢索函數(shù) 302
20.4  小結 305
20.5  習題 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檢索查詢結果函數(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查詢結果 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ù)庫實現(xiàn) 329
21.4.1  建立和連接數(shù)據(jù)庫 329
21.4.2  建立媒體庫數(shù)據(jù)表 330
21.4.3  管理媒體庫數(shù)據(jù)表 331
21.5  小結 335
21.6  習題 335
第5篇  Linux界面開發(fā)
第22章  界面開發(fā)基礎知識 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  基礎類型 341
22.3.2  對核心應用的支持 341
22.3.3  實用功能 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結構 348
22.4.4  信號機制 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  小結 356
22.9  習題 357
第23章  界面構件開發(fā) 358
23.1  常用的界面構件 358
23.1.1  按鈕構件 358
23.1.2  調(diào)整對象 361
23.1.3  范圍構件 361
23.1.4  標簽構件 362
23.1.5  工具提示對象 363
23.1.6  進度條 363
23.1.7  對話框 363
23.1.8  狀態(tài)欄 364
23.1.9  文本輸入構件 365
23.1.10  微調(diào)按鈕 367
23.1.11  組合輸入框 369
23.1.12  日歷構件 369
23.1.13  顏色選擇對話框 370
23.1.14  文件選擇構件 371
23.2  復合構件 372
23.2.1  快捷標簽 373
23.2.2  字體選擇對話框 374
23.2.3  消息對話框 377
23.2.4  圖像構件 379
23.2.5  文本視區(qū)構件 381
23.3  菜單相關構件 381
23.3.1  菜單欄 382
23.3.2  菜單構件 382
23.3.3  菜單項 384
23.3.4  復選菜單項 387
23.3.5  單選菜單項 389
23.3.6  分隔菜單項 390
23.4  小結 390
23.5  習題 390
第24章  界面布局 392
24.1  界面布局簡介 392
24.1.1  界面的寬度與高度 392
24.1.2  窗體的基本構件 393
24.1.3  布局約定 395
24.2  組裝盒構件 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  框架構件 405
24.3.5  比例框架 408
24.3.6  分欄窗體構件 409
24.3.7  視角構件 410
24.3.8  滾動條窗體 410
24.3.9  按鈕盒 412
24.3.10  工具欄 415
24.3.11  筆記本 417
24.4  媒體播放器——界面實現(xiàn) 421
24.4.1  使用原型法設計媒體播放器界面 421
24.4.2  編寫媒體播放器界面代碼 425
24.5  小結 433
24.6  習題 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界面構件信號 442
25.2.3  GtkWindow窗體構件信號 450
25.2.4  GtkContainer容器構件信號 451
25.2.5  GtkCalendar日歷構件信號 451
25.2.6  GtkTextView文本視區(qū)構件信號 452
25.3  小結 453
25.4  習題 453
第26章  Glade程序界面設計 455
26.1  Glade簡介 455
26.2  構造圖形界面 456
26.2.1  添加窗體 456
26.2.2  添加容器 460
26.2.3  添加構件 465
26.2.4  設置構件屬性 468
26.2.5  添加事件和回調(diào)函數(shù) 469
26.3  C語言代碼聯(lián)編 471
26.3.1  使用GTK 函數(shù)庫連接Glade項目文件 471
26.3.2  使用GTK 的多語言支持功能 473
26.4  小結 476
26.5  習題 476
第6篇  Linux 環(huán)境C編程項目實戰(zhàn)
第27章  編程項目實戰(zhàn)——媒體播放器的實現(xiàn) 480
27.1  軟件工程實戰(zhàn) 480
27.1.1  項目需求分析 480
27.1.2  軟件需求說明 481
27.1.3  項目視圖的解決方案 481
27.2  軟件設計 482
27.2.1  需求分析 482
27.2.2  制訂開發(fā)計劃 482
27.2.3  分工協(xié)作 483
27.3  版本控制 483
27.3.1  Git服務器搭建 483
27.3.2  Git的上傳和備份 485
27.4  在Eclipse中使用Git 486
27.4.1  將代碼上傳到服務器上 486
27.4.2  將代碼導入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  播放控制模塊的實現(xiàn) 504
27.8.1  播放控制模塊程序結構 504
27.8.2  MP3播放功能的實現(xiàn) 505
27.8.3  播放中的回調(diào)處理 508
27.9  系統(tǒng)集成 510
27.10  主程序文件的實現(xiàn) 510
27.10.1  頭文件和主函數(shù)入口 510
27.10.2  媒體庫模塊初始化 511
27.10.3  圖形界面初始化 512
27.10.4  退出前的清理 512
27.10.5  編譯和運行 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  播放模式設置 540
27.13.2  開始播放 540
27.13.3  暫停播放 541
27.13.4  停止播放 542
27.13.5  播放上一首 542
27.13.6  播放下一首 542
27.14  小結 543

本目錄推薦

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