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

Linux環(huán)境C程序設(shè)計

Linux環(huán)境C程序設(shè)計

定 價:¥69.00

作 者: 徐誠 等編著
出版社: 清華大學(xué)出版社
叢編項: Linux典藏大系
標 簽: LINUX

ISBN: 9787302206408 出版時間: 2010-01-01 包裝: 平裝
開本: 16開 頁數(shù): 604 字數(shù):  

內(nèi)容簡介

  Linux操作系統(tǒng)是一種類UNIX完整的操作系統(tǒng),它不僅功能強大、運行穩(wěn)定,而且用戶可免費使用?!禠inux環(huán)境C程序設(shè)計》由淺入深,循序漸進地講授在Linux系統(tǒng)下使用C語言進行軟件開發(fā)的方法。全書內(nèi)容包括Linux的基本概念和操作方法、C語言編程方法、D-BUS和線程控制、網(wǎng)絡(luò)協(xié)議和LibCurl網(wǎng)絡(luò)編程、數(shù)據(jù)庫C語言編程接口,以及GTK+界面開發(fā)技術(shù),并將許多實際程序開發(fā)案例貫穿在全書中。為了便于讀者學(xué)習,《Linux環(huán)境C程序設(shè)計》引入實際應(yīng)用開發(fā)中具有一定難度的項目——多媒體軟件的開發(fā),希望讀者不但能掌握Linux系統(tǒng)C語言開發(fā)技術(shù),而且還能獲得先進的軟件工程思想,具備與國際一流的軟件工程師共同工作的能力?!禠inux環(huán)境C程序設(shè)計》附帶1張DVD光盤,內(nèi)容為專門為《Linux環(huán)境C程序設(shè)計》錄制的7小時教學(xué)視頻、《Linux環(huán)境C程序設(shè)計》涉及的源代碼、Ubuntu安裝光盤的鏡像文件和另外贈送的36.5小時Linux專題學(xué)習視頻?!禠inux環(huán)境C程序設(shè)計》適合廣大軟件開發(fā)人員、開源軟件愛好者和大中專院校學(xué)生閱讀,尤其適合有一定C語言編程技術(shù)的人員使用。

作者簡介

  徐誠,畢業(yè)于華中科技大學(xué)計算機通信工程專業(yè)。擅長C與C++程序設(shè)計,精通Linux內(nèi)核和相關(guān)開發(fā)技術(shù)。從事Linux系統(tǒng)開發(fā)工作多年,擁有豐富的系統(tǒng)開發(fā)經(jīng)驗。曾多次在專業(yè)期刊發(fā)表技術(shù)文章,并長期在CSDN擔任社區(qū)專家。2008年獨立開發(fā)的基于移動Linux系統(tǒng)的MISSMOBLIN人工智能助手軟件,獲得了Intel公司舉辦的YourMove軟件大賽中國區(qū)的第五名。高瑩婷,獲湖北大學(xué)電子信息工程專業(yè)和法學(xué)專業(yè)雙學(xué)士學(xué)位。擅長網(wǎng)絡(luò)協(xié)議開發(fā)及數(shù)據(jù)庫建模。熟悉Linux系統(tǒng)程序開發(fā)和數(shù)據(jù)庫開發(fā)。從事衛(wèi)生系統(tǒng)行業(yè)軟件開發(fā)多年,負責開發(fā)了基于Linux系統(tǒng)環(huán)境的HIS系統(tǒng)。曾經(jīng)在多個專業(yè)技術(shù)期刊發(fā)表相關(guān)作品百余篇。因工作積極熱忱,樂于為大眾普及專業(yè)知識,2007年被《楚天都市報》和《武漢晨報》評為優(yōu)秀通信員。

圖書目錄

第1篇 Linux基礎(chǔ).
第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 免費軟件與開源軟件 4
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 安裝前準備 7
1.3.2 系統(tǒng)需求 7
1.3.3 硬盤分區(qū) 7
1.3.4 圖形方式安裝Linux 8
1.3.5 升級最新內(nèi)核 16
1.3.6 安裝中文支持 16
1.4 小結(jié) 16
第2章 Linux基本操作 17
2.1 登錄 17
2.1.1 shell程序 17
2.1.2 控制臺 17
2.1.3 終端 18
2.2 文件和目錄 18
2.2.1 文件系統(tǒng) 19
2.2.2 文件名 20
2.2.3 路徑名 20
2.2.4 工作目錄 21
2.2.5 起始目錄 21
2.3 輸入和輸出 21
2.3.1 文件描述符 21
2.3.2 標準輸入、標準輸出和標準錯誤 21
2.3.3 標準輸入輸出函數(shù) 22
2.4 小結(jié) 22
第3章 Linux GCC/G++編譯器與調(diào)試器 23
3.1 GCC/G++編譯器 23
3.1.1 GCC/G++編譯器安裝 23
3.1.2 GCC/G++編譯命令 23
3.1.3 GCC/G++編譯選項 24
3.1.4 GCC/G++編譯器執(zhí)行過程 24
3.2 程序和進程 25
3.2.1 程序 25
3.2.2 進程和PID 25
3.3 ANSI C標準 25
3.3.1 函數(shù)原型 26
3.3.2 類屬指針 26
3.3.3 原始系統(tǒng)數(shù)據(jù)類型 26
3.4 編譯hello world 26
3.4.1 使用VI編寫源代碼 27
3.4.2 程序的編譯與連接 27
3.4.3 使用終端運行程序 28
3.5 GDB調(diào)試器 28
3.5.1 GDB調(diào)試器概述 28
3.5.2 GDB調(diào)試器安裝 28
3.5.3 GDB常用調(diào)試命令 29
3.5.4 在GDB下運行程序 29
3.5.5 檢查數(shù)據(jù) 29
3.6 小結(jié) 30
第4章 Linux開發(fā)環(huán)境 31
4.1 文本編輯工具 31
4.1.1 VIM使用方法 31
4.1.2 Emacs使用方法 32
4.2 集成開發(fā)環(huán)境 33
4.2.1 Eclipse介紹 33
4.2.2 Kdevelop介紹 33
4.3 使用Eclipse開發(fā)C/C++語言程序 34
4.3.1 安裝與配置Eclipse 34
4.3.2 Eclipse界面 34
4.3.3 編譯與運行源代碼 35
4.3.4 Debug源代碼 36
4.4 小結(jié) 37
第2篇 C/C++語言基礎(chǔ)
第5章 C語言編程基礎(chǔ) 40
5.1 程序設(shè)計語言的發(fā)展 40
5.1.1 機器語言 40
5.1.2 匯編語言 40
5.1.3 高級語言 40
5.2 C語言的特點 41
5.2.1 C語言是中級語言 41
5.2.2 C語言是結(jié)構(gòu)化語言 42
5.2.3 C語言是程序員的語言 42
5.3 C語言的程序結(jié)構(gòu) 42
5.3.1 基本程序結(jié)構(gòu) 43
5.3.2 函數(shù)庫和鏈接 44
5.3.3 開發(fā)一個C語言程序 45
5.3.4 C語言的關(guān)鍵字 45
5.4 算法 46
5.4.1 流程圖與算法的結(jié)構(gòu)化描述 46
5.4.2 用N-S圖描述算法 48
5.4.3 用PAD圖描述算法 48
5.5 軟件工程概覽 48
5.5.1 認識軟件工程 48
5.5.2 瀑布模型及其改進 50
5.5.3 迭代發(fā)布模型 50
5.5.4 樸素軟件工程思想 51
5.6 小結(jié) 52
第6章 數(shù)據(jù)類型、運算符和表達式 53
6.1 C語言的數(shù)據(jù)類型 53
6.1.1 基本類型的字長與范圍 53
6.1.2 聚合類型與修飾符 54
6.2 常量與變量 55
6.2.1 標識符命名 55
6.2.2 常量 55
6.2.3 變量 56
6.3 整型數(shù)據(jù) 56
6.3.1 整型常量 57
6.3.2 整型變量 57
6.4 浮點型數(shù)據(jù) 58
6.4.1 浮點型常量 58
6.4.2 浮點型變量 58
6.5 字符型數(shù)據(jù) 58
6.5.1 字符常量 59
6.5.2 字符串常量 59
6.5.3 轉(zhuǎn)義字符 59
6.5.4 符號常量 60
6.5.5 字符變量 60
6.6 運算符 61
6.6.1 算術(shù)運算符 61
6.6.2 自增和自減 61
6.6.3 關(guān)系和邏輯運算符 62
6.6.4 位操作符 63
6.6.5 問號操作符 63
6.6.6 逗號操作符 64
6.6.7 優(yōu)先級 64
6.7 表達式 65
6.7.1 表達式中的類型轉(zhuǎn)換 65
6.7.2 構(gòu)成符cast 65
6.7.3 空格與括號 65
6.7.4 C語言中的簡寫形式 66
6.8 C語言的預(yù)處理命令 66
6.8.1 宏替換命令 66
6.8.2 終止編譯命令 67
6.8.3 文件包含命令 67
6.8.4 條件編譯命令 68
6.8.5 修改行號命令 69
6.8.6 編譯指示命令 70
6.8.7 預(yù)定義的宏名 70
6.8.8 注釋 71
6.9 小結(jié) 71
第7章 程序控制結(jié)構(gòu) 72
7.1 程序的3種基本結(jié)構(gòu) 72
7.2 數(shù)據(jù)的輸入與輸出 72
7.2.1 scanf()函數(shù) 72
7.2.2 printf()函數(shù) 74
7.2.3 getchar()函數(shù)與putchar()函數(shù) 75
7.3 條件控制語句 76
7.3.1 if語句 76
7.3.2 switch語句 77
7.4 循環(huán)控制語句 78
7.4.1 while語句 78
7.4.2 do-while語句 79
7.4.3 for語句 80
7.4.4 break與continue語句 80
7.5 媒體播放器——建立程序結(jié)構(gòu) 81
7.5.1 編寫偽代碼 82
7.5.2 建立媒體播放器程序結(jié)構(gòu) 82
7.6 小結(jié) 85
第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 指針與指針變量 91
8.5 指針變量的定義與引用 92
8.5.1 指針變量的定義 92
8.5.2 指針變量的引用 93
8.6 指針與數(shù)組 94
8.6.1 指針與一維數(shù)組 94
8.6.2 指針與二維數(shù)組 95
8.6.3 指針與字符串數(shù)組 96
8.7 指針的地址分配 96
8.8 指針數(shù)組 97
8.9 指向指針的指針 97
8.10 媒體播放器——建立播放列表 98
8.10.1 建立一個播放列表 98
8.10.2 對播放列表排序 103
8.11 小結(jié) 104
第9章 函數(shù) 105
9.1 函數(shù)說明與返回值 105
9.1.1 函數(shù)的類型說明 105
9.1.2 返回語句 106
9.2 函數(shù)的作用域規(guī)則 107
9.2.1 局部變量 107
9.2.2 全局變量 108
9.2.3 動態(tài)存儲變量 109
9.2.4 靜態(tài)存儲變量 110
9.3 函數(shù)的調(diào)用與參數(shù) 110
9.3.1 形式參數(shù)與實際參數(shù) 110
9.3.2 賦值調(diào)用與引用調(diào)用 111
9.4 遞歸 111
9.5 實現(xiàn)問題 112
9.5.1 參數(shù)和通用函數(shù) 113
9.5.2 效率 113
9.6 函數(shù)庫和文件 113
9.6.1 程序文件的大小 114
9.6.2 分類組織文件 114
9.6.3 函數(shù)庫 115
9.7 main()函數(shù)的參數(shù) 116
9.8 媒體播放器——建立核心控制模塊 117
9.8.1 通過函數(shù)傳遞參數(shù) 117
9.8.2 建立媒體播放器核心控制模塊 120
9.9 小結(jié) 124
第10章 字符及字符串處理 125
10.1 字符編碼 125
10.1.1 ASCII編碼 125
10.1.2 Unicode編碼 126
10.2 字符處理庫 126
10.3 字符串轉(zhuǎn)換函數(shù) 127
10.4 字符串處理函數(shù) 129
10.5 字符串比較函數(shù) 130
10.6 字符串查找函數(shù) 131
10.7 字符串內(nèi)存函數(shù) 132
10.8 字符串其他函數(shù) 134
10.9 媒體播放器——實現(xiàn)播放列表檢索功能 134
10.9.1 對播放列表中整個字符串進行排序 134
10.9.2 在播放列表中查找字符串 135
10.10 小結(jié) 140
第11章 結(jié)構(gòu)體與共用體 141
11.1 結(jié)構(gòu)體類型變量的定義和引用 141
11.1.1 結(jié)構(gòu)體類型變量的定義 141
11.1.2 結(jié)構(gòu)體類型變量的引用 142
11.1.3 結(jié)構(gòu)體類型變量的初始化 143
11.2 結(jié)構(gòu)體數(shù)組的定義和引用 144
11.3 結(jié)構(gòu)體指針的定義和引用 144
11.3.1 指向結(jié)構(gòu)體類型變量的使用 145
11.3.2 指向結(jié)構(gòu)體類型數(shù)組的指針的使用 145
11.4 共用體 146
11.4.1 共用體的定義 146
11.4.2 共用體變量的引用 147
11.5 媒體播放器——建立媒體庫 148
11.5.1 設(shè)計媒體庫中的數(shù)據(jù)結(jié)構(gòu) 148
11.5.2 媒體庫的基本操作 151
11.5.3 添加文件到媒體庫 153
11.5.4 在媒體庫中查找文件 155
11.5.5 從媒體庫刪除選定文件 157
11.5.6 從媒體庫刪除所有文件 158
11.6 小結(jié) 158
第12章 C++語言編程基礎(chǔ) 159
12.1 類和數(shù)據(jù)抽象 159
12.1.1 用類實現(xiàn)數(shù)據(jù)抽象 159
12.1.2 類作用域和訪問類成員 161
12.1.3 從實現(xiàn)中分離接口 161
12.1.4 控制訪問成員 162
12.1.5 構(gòu)造函數(shù)和析構(gòu)函數(shù) 162
12.1.6 const對象和const成員函數(shù) 163
12.1.7 friend對象和friend類 163
12.1.8 this指針 165
12.1.9 動態(tài)內(nèi)存分配 165
12.1.10 static類成員 165
12.2 C++特性 166
12.2.1 運算符重載 166
12.2.2 繼承 167
12.2.3 虛擬函數(shù)和多態(tài)性 168
12.2.4 流輸入與輸出 169
12.2.5 模板 169
12.2.6 異常處理 170
12.3 小結(jié) 170
第3篇 Linux系統(tǒng)編程
第13章 文件操作 172
13.1 文件屬性與權(quán)限 172
13.1.1 文件屬性 172
13.1.2 文件權(quán)限 173
13.1.3 管理文件權(quán)限 173
13.2 文件管理 174
13.2.1 系統(tǒng)調(diào)用原理 174
13.2.2 打開文件、新建文件和關(guān)閉文件操作 174
13.2.3 文件狀態(tài)和屬性操作 177
13.2.4 目錄操作 179
13.2.5 刪除目錄或文件操作 181
13.2.6 錯誤處理 182
13.3 媒體播放器——增強媒體庫功能 182
13.3.1 添加目錄到媒體庫 183
13.3.2 搜索本地磁盤中所有媒體文件 184
13.4 小結(jié) 184
第14章 文件I/O操作 185
14.1 非緩沖文件操作 185
14.1.1 使用read()讀取文件 185
14.1.2 使用write()寫入文件 186
14.1.3 隨機讀寫文件 187
14.2 緩沖文件操作 188
14.2.1 打開與關(guān)閉文件流 188
14.2.2 讀取與寫入文件流 189
14.2.3 文件流的格式化輸入與輸出 191
14.2.4 文件流的定位操作 192
14.2.5 文件流操作的其他函數(shù) 193
14.2.6 文件流操作的錯誤處理 193
14.3 媒體播放器——完善播放列表 194
14.3.1 讀取播放列表文件 194
14.3.2 將播放列表保存為文件 196
14.4 小結(jié) 197
第15章 進程控制 198
15.1 進程的基本概念 198
15.1.1 進程狀態(tài)和狀態(tài)轉(zhuǎn)換 199
15.1.2 進程控制 201
15.1.3 進程調(diào)度 202
15.2 進程基本操作 202
15.2.1 fork系統(tǒng)調(diào)用 202
15.2.2 exec系統(tǒng)調(diào)用 204
15.2.3 exit系統(tǒng)調(diào)用 205
15.2.4 wait系統(tǒng)調(diào)用 206
15.2.5 sleep函數(shù)調(diào)用 207
15.3 進程的特殊操作 207
15.3.1 獲得進程ID 207
15.3.2 setuid和setgid系統(tǒng)調(diào)用 208
15.3.3 setpgrp和setpgid系統(tǒng)調(diào)用 208
15.3.4 chdir系統(tǒng)調(diào)用 209
15.3.5 chroot系統(tǒng)調(diào)用 209
15.3.6 nice系統(tǒng)調(diào)用 209
15.4 小結(jié) 209
第16章 進程間通信 210
16.1 進程間使用管道通信 210
16.1.1 pipe系統(tǒng)調(diào)用 211
16.1.2 dup系統(tǒng)調(diào)用 212
16.2 進程間使用D-Bus通信 213
16.2.1 D-Bus的基本概念 213
16.2.2 D-Bus的用例 214
16.3 媒體播放器——完善退出和音量控制功能 217
16.3.1 媒體播放器在桌面環(huán)境退出時響應(yīng) 217
16.3.2 調(diào)整系統(tǒng)音量 218
16.4 小結(jié) 220
第17章 線程控制 221
17.1 線程基本概念 221
17.2 線程的實現(xiàn) 221
17.2.1 用戶態(tài)線程 222
17.2.2 內(nèi)核態(tài)線程 222
17.3 POSIX線程庫 222
17.3.1 創(chuàng)建線程 222
17.3.2 結(jié)束線程 223
17.4 同步 226
17.4.1 用信號量進行同步 226
17.4.2 用互斥量進行同步 228
17.5 取消線程 230
17.6 多線程的實現(xiàn) 231
17.7 小結(jié) 233
第4篇 Linux網(wǎng)絡(luò)編程與數(shù)據(jù)庫編程
第18章 網(wǎng)絡(luò)編程基礎(chǔ) 236
18.1 計算機網(wǎng)絡(luò)組成 236
18.1.1 網(wǎng)絡(luò)結(jié)構(gòu) 236
18.1.2 OSI 參考模型 238
18.1.3 TCP/IP參考模型 238
18.2 TCP/IP協(xié)議.. 240
18.2.1 IP協(xié)議與Internet 240
18.2.2 IP互聯(lián)網(wǎng)協(xié)議地址 241
18.2.3 TCP協(xié)議 242
18.2.4 UDP協(xié)議 243
18.3 Socket套接字 244
18.3.1 Socket套接字簡介 244
18.3.2 創(chuàng)建套接字 245
18.3.3 套接字地址 246
18.3.4 套接字的名字 247
18.3.5 創(chuàng)建套接字隊列 247
18.3.6 接受連接 248
18.3.7 請求連接 248
18.3.8 關(guān)閉連接 249
18.3.9 套接字通信 249
18.4 網(wǎng)絡(luò)通信 251
18.4.1 查詢主機名稱 251
18.4.2 Internet守護進程 253
18.5 小結(jié) 254
第19章 網(wǎng)絡(luò)編程函數(shù)庫 255
19.1 HTTP與FTP函數(shù)庫 255
19.1.1 libcurl函數(shù)庫簡介 255
19.1.2 libcurl中的主要函數(shù) 256
19.1.3 使用libcurl實現(xiàn)簡單的HTTP訪問 258
19.2 SMTP、POP與IMAP函數(shù)庫 259
19.2.1 使用libESMTP函數(shù)庫實現(xiàn)電子郵件發(fā)送 260
19.2.2 使用libspopc函數(shù)庫實現(xiàn)POP訪問 261
19.2.3 使用mailutils函數(shù)庫實現(xiàn)IMAP訪問 263
19.3 即時通信函數(shù)庫 264
19.3.1 libpurple函數(shù)庫簡介 264
19.3.2 即時通信軟件工作機制 264
19.3.3 使用libpurple函數(shù)庫接入服務(wù)器 266
19.4 小結(jié) 272
第20章 數(shù)據(jù)庫 273
20.1 數(shù)據(jù)的存儲與訪問 273
20.1.1 使用數(shù)據(jù)文件 273
20.1.2 使用數(shù)據(jù)庫 277
20.2 Berkeley DB數(shù)據(jù)包 279
20.2.1 Berkeley DB數(shù)據(jù)包簡介 279
20.2.2 Berkeley DB數(shù)據(jù)包連接和使用 282
20.2.3 Berkeley DB數(shù)據(jù)包訪問 287
20.2.4 Berkeley DB數(shù)據(jù)包中的游標 289
20.3 PostgreSQL數(shù)據(jù)庫服務(wù)器介紹 292
20.3.1 PostgreSQL基本概念 292
20.3.2 數(shù)據(jù)庫連接函數(shù) 294
20.3.3 命令執(zhí)行函數(shù) 299
20.3.4 檢索查詢結(jié)果函數(shù) 303
20.4 小結(jié) 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ù)庫 309
21.1.3 SQLite命令執(zhí)行函數(shù) 312
21.1.4 SQLite檢索查詢結(jié)果函數(shù) 314
21.2 MySQL數(shù)據(jù)庫 316
21.2.1 MySQL簡介 316
21.2.2 連接MySQL數(shù)據(jù)庫 318
21.2.3 查詢MySQL數(shù)據(jù)庫 321
21.2.4 處理MySQL查詢結(jié)果 322
21.3 大型數(shù)據(jù)庫與通用數(shù)據(jù)庫接口 325
21.3.1 連接Oracle數(shù)據(jù)庫 325
21.3.2 通用數(shù)據(jù)庫接口 328
21.4 媒體播放器——媒體庫的數(shù)據(jù)庫實現(xiàn) 334
21.4.1 建立和連接數(shù)據(jù)庫 335
21.4.2 建立媒體庫數(shù)據(jù)表 336
21.4.3 管理媒體庫數(shù)據(jù)表 337
21.5 小結(jié) 341
第5篇 Linux界面開發(fā)
第22章 界面開發(fā)基礎(chǔ) 344
22.1 Linux常用桌面環(huán)境 344
22.1.1 GNOME桌面環(huán)境 344
22.1.2 KDE桌面環(huán)境 346
22.1.3 移動設(shè)備與HILDON桌面環(huán)境 348
22.2 GTK+圖形環(huán)境介紹 349
22.3 GLib庫介紹 350
22.3.1 基礎(chǔ)類型 351
22.3.2 對核心應(yīng)用的支持 351
22.3.3 實用功能 353
22.3.4 數(shù)據(jù)類型 353
22.4 GObject對象介紹 354
22.4.1 對象系統(tǒng) 355
22.4.2 GObject系統(tǒng)中宏定義 356
22.4.3 GTypeInfo結(jié)構(gòu) 358
22.4.4 信號機制 359
22.5 2D圖形引擎Cairo介紹 359
22.6 多媒體庫GStreamer介紹 361
22.6.1 過濾器 362
22.6.2 襯墊 363
22.6.3 箱柜 365
22.6.4 精靈襯墊 366
22.7 搭建GTK+開發(fā)環(huán)境 367
22.8 小結(jié) 370
第23章 界面構(gòu)件開發(fā) 371
23.1 常用界面構(gòu)件 371
23.1.1 按鈕構(gòu)件 371
23.1.2 調(diào)整對象 374
23.1.3 范圍構(gòu)件 374
23.1.4 標簽構(gòu)件 375
23.1.5 箭頭構(gòu)件 376
23.1.6 工具提示對象 377
23.1.7 進度條 377
23.1.8 對話框 378
23.1.9 標尺 379
23.1.10 狀態(tài)欄 381
23.1.11 文本輸入構(gòu)件 382
23.1.12 微調(diào)按鈕 384
23.1.13 組合輸入框 387
23.1.14 日歷 389
23.1.15 顏色選擇 391
23.1.16 文件選擇 394
23.2 復(fù)合構(gòu)件 396
23.2.1 快捷標簽 396
23.2.2 繪圖區(qū) 399
23.2.3 字體選擇對話框 407
23.2.4 消息對話框 411
23.2.5 圖像構(gòu)件 413
23.2.6 文本視區(qū) 417
23.3 菜單構(gòu)件 418
23.3.1 菜單欄 418
23.3.2 菜單構(gòu)件 419
23.3.3 菜單項 421
23.3.4 圖形菜單項 424
23.3.5 復(fù)選菜單項 426
23.3.6 單選菜單項 428
23.3.7 分隔菜單項 429
23.4 RC文件 429
23.4.1 使用RC文件 430
23.4.2 RC文件格式 431
23.5 小結(jié) 434
第24章 界面布局 435
24.1 界面布局基本概念 435
24.1.1 界面的寬度與高度 435
24.1.2 窗體基本組成 437
24.1.3 布局約定 439
24.2 組裝盒構(gòu)件 441
24.2.1 組裝盒的原理 441
24.2.2 組裝盒示范程序 442
24.2.3 表組裝的原理 444
24.2.4 表組裝示例 445
24.3 容器 447
24.3.1 事件盒 447
24.3.2 對齊構(gòu)件 448
24.3.3 固定容器 450
24.3.4 布局容器 451
24.3.5 框架構(gòu)件 453
24.3.6 比例框架 455
24.3.7 分欄窗體構(gòu)件 456
24.3.8 視角構(gòu)件 457
24.3.9 滾動條窗體 458
24.3.10 按鈕盒 459
24.3.11 工具欄 462
24.3.12 筆記本 464
24.4 媒體播放器——實現(xiàn)界面 469
24.4.1 使用原型法設(shè)計媒體播放器界面 469
24.4.2 編寫媒體播放器界面代碼 472
24.5 小結(jié) 481
第25章 信號與事件處理 482
25.1 信號函數(shù)與回調(diào)函數(shù) 482
25.1.1 信號函數(shù) 482
25.1.2 回調(diào)函數(shù) 486
25.2 常用GTK+信號與事件 488
25.2.1 GtkObject類信號 488
25.2.2 GtkWidget界面構(gòu)件信號 489
25.2.3 GtkWindow窗體構(gòu)件信號 498
25.2.4 GtkContainer容器構(gòu)件信號 499
25.2.5 GtkCalendar日歷構(gòu)件信號 499
25.2.6 GtkTextView文本視區(qū)構(gòu)件信號 500
25.3 小結(jié) 501
第26章 Glade設(shè)計程序界面 502
26.1 Glade簡介 502
26.2 構(gòu)造圖形界面 503
26.2.1 添加窗體 503
26.2.2 添加容器 509
26.2.3 添加構(gòu)件 516
26.2.4 設(shè)置構(gòu)件屬性 519
26.2.5 添加事件和回調(diào) 520
26.3 C語言代碼聯(lián)編 522
26.3.1 libglade函數(shù)庫編程基礎(chǔ) 522
26.3.2 使用libglade多語言支持 524
26.4 小結(jié) 528
第6篇 Linux環(huán)境C編程項目實踐
第27章 媒體播放器——項目完整實踐 530
27.1 軟件工程實戰(zhàn) 530
27.1.1 項目需求分析 530
27.1.2 軟件需求說明 531
27.1.3 項目視圖的解決方案 532
27.2 軟件設(shè)計 533
27.2.1 需求分析 533
27.2.2 制訂開發(fā)計劃 534
27.2.3 分工協(xié)作 535
27.3 版本控制 536
27.3.1 CVS服務(wù)器配置 536
27.3.2 CVS服務(wù)器管理 537
27.4 在Eclipse中使用CVS客戶端 540
27.4.1 從CVS服務(wù)器簽出模塊并創(chuàng)建項目 541
27.4.2 簽入文件 543
27.4.3 使用Eclipse項目創(chuàng)建CVS模塊 544
27.4.4 比較文件 545
27.4.5 管理CVS服務(wù)器 545
27.4.6 斷開項目與CVS服務(wù)器之間的關(guān)聯(lián) 546
27.5 音量控制對話框 547
27.5.1 創(chuàng)建對話框 547
27.5.2 添加垂直比例尺 547
27.5.3 測試 548
27.6 播放列表對話框 550
27.6.1 創(chuàng)建對話框 550
27.6.2 創(chuàng)建工具條和工具條按鈕 551
27.6.3 創(chuàng)建樹視圖 552
27.6.4 創(chuàng)建對話框按鈕 553
27.6.5 測試 553
27.7 媒體庫對話框 554
27.7.1 創(chuàng)建對話框 555
27.7.2 創(chuàng)建工具條和工具條按鈕 555
27.7.3 創(chuàng)建分類部件和媒體信息顯示部件 557
27.7.4 創(chuàng)建搜索部件 559
27.7.5 創(chuàng)建對話框按鈕 559
27.7.6 測試 560
27.8 播放控制模塊實現(xiàn) 562
27.8.1 播放控制模塊程序結(jié)構(gòu) 562
27.8.2 MP3播放功能實現(xiàn) 564
27.8.3 播放中的回調(diào)處理 567
27.9 系統(tǒng)集成 569
27.10 主程序文件實現(xiàn) 570
27.10.1 頭文件和主函數(shù)入口 570
27.10.2 媒體庫模塊初始化 571
27.10.3 圖形界面初始化 571
27.10.4 退出前清理 572
27.10.5 編譯和運行 572
27.11 媒體庫功能集成 572
27.11.1 初始化 573
27.11.2 顯示媒體庫對話框 573
27.11.3 添加文件 580
27.11.4 添加目錄 582
27.11.5 刪除文件信息 584
27.11.6 刪除所有文件信息 585
27.11.7 搜索本地文件 586
27.11.8 傳遞到播放列表 587
27.11.9 查找 589
27.12 播放列表功能集成 590
27.12.1 初始化 590
27.12.2 顯示播放列表對話框 591
27.12.3 添加文件 593
27.12.4 添加目錄 595
27.12.5 打開文件 596
27.12.6 保存文件 597
27.12.7 刪除文件 598
27.12.8 刪除全部 600
27.12.9 排序 600
27.13 播放控制模塊集成 601
27.13.1 播放模式設(shè)置 601
27.13.2 開始播放 602
27.13.3 暫停播放 603
27.13.4 停止播放 603
27.13.5 播放上一首 603
27.13.6 播放下一首 604
27.14 小結(jié) 605

本目錄推薦

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