《Symbian OS C 高效編程》是人民郵電出版社出版的圖書,作者是[美]Jo Stichbury。
基本介紹
- 書名:Symbian OS C 高效編程
- 作者:斯蒂克伯里
- ISBN:9787115143198
- 出版社:人民郵電出版社
- 書號:14319
- 語言:中文
圖書簡介,圖書目錄,
圖書簡介
本書旨在幫助讀者編寫良好的基於Symbian OS的C 程式。全書共分為21章,分別介紹了Symbian OS中的類命名約定、異常退出、清除棧、兩段構造、描述符、良好的描述符風格、動態的數組與緩衝區、使用活動對象的事件驅動多任務、活動對象、Symbian OS的執行緒與進程、客戶/伺服器原理、客戶/伺服器框架實踐、二進制類型、ECOM、嚴重錯誤、用斷言發現bug、調試宏與測試類、兼容性、輕量級模板、API、良好的編碼風格等內容。適合於使用Symbian OS進行程式開發的人員。
圖書目錄
第1章 Symbian OS中的類命名約定 1
1.1 基本類型 1
1.2 T類 2
1.3 C類 3
1.4 R類 5
1.5 M類 6
1.6 靜態類 9
1.7 使用者注意事項 9
1.8 小結 9
第2章 異常退出(leave):Symbian OS的異常 10
2.1 異常退出函式 10
2.2 使用new(ELeave)進行基於堆的記憶體分配 12
2.3 構造函式與析構函式 13
2.4 使用異常退出函式 14
2.5 用TRAP和TRAPD捕獲異常退出 15
2.6 LeaveScan 20
2.7 小結 21
第3章 清除棧 22
3.1 使用清除棧 24
3.2 清除棧是如何工作的 27
3.3 對非CBase派生類使用清除棧 29
3.4 使用TCleanupItem實現定製清除 33
3.5 可移植性 35
3.6 對於使用轉型(cast)的附加說明 35
3.7 小結 36
第4章 兩段構造 37
第5章 描述符:Symbian OS中的字元串 41
5.1 不可修改的描述符 42
5.2 可修改的描述符 43
5.3 指針描述符 44
5.4 基於棧的緩衝描述符 47
5.5 基於堆的緩衝描述符 49
5.6 字面描述符 51
5.7 小結 54
第6章 良好的描述符風格 56
6.1 作為參數和返回類型的描述符 57
6.2 一般描述符方法 58
6.3 使用HBufC堆描述符 61
6.4 外部化和內部化描述符 62
6.5 TFileName的過度使用 64
6.6 在描述符操縱方面有用的類 64
6.7 小結 66
第7章 動態數組與緩衝區 68
7.1 CArrayX類 69
7.2 RArrayclass T和RPointerArrayclass T 73
7.3 為什麼要用RArray代替CArrayX 77
7.4 動態描述符數組 78
7.5 定長數組 79
7.6 動態緩衝區 80
7.7 小結 82
第8章 使用活動對象的事件驅動多任務 84
8.1 多任務基礎 84
8.2 事件驅動多任務 85
8.3 使用活動對象 87
8.4 示例代碼 90
8.5 沒有活動調度器的執行緒 93
8.6 應用程式代碼和活動對象 93
8.7 小結 94
第9章 活動對象揭密 96
9.1 活動對象基礎 96
9.2 活動對象的職責 99
9.3 異步服務提供者的職責 101
9.4 活動調度器的職責 101
9.5 啟動活動調度器 102
9.6 嵌套活動調度器 102
9.7 擴展活動調度器 103
9.8 撤銷 103
9.9 請求完成 104
9.10 狀態機 105
9.11 長線任務(Long-Running Task) 109
9.12 CIdle類 111
9.13 CPeriodic類 113
9.14 常見錯誤 114
9.15 小結 115
第10章 Symbian OS的執行緒與進程 116
10.1 RThread類 117
10.2 執行緒優先權 119
10.3 停止一個運行的執行緒 121
10.4 執行緒間數據傳遞 124
10.5 異常處理 126
10.6 進程 126
10.7 小結 128
第11章 客戶機/伺服器框架原理 129
11.1 為什麼會有客戶機/伺服器框架 129
11.2 客戶和伺服器是如何協作的 130
11.3 客戶與伺服器如何通信 131
11.4 客戶機/伺服器框架使用了哪些類 132
11.5 同步請求和異步請求有什麼區別 138
11.6 如何啟動伺服器 139
11.7 一個客戶可以有多少個連線 139
11.8 當客戶下線時會發生什麼 140
11.9 如果客戶終止會發生什麼 140
11.10 如果伺服器終止會發生什麼 140
11.11 客戶機/伺服器通信是如何使用執行緒的 140
11.12 伺服器空間活動對象有什麼含義 141
11.13 局部伺服器(與客戶處於同一進程中)的優點是什麼 141
11.14 客戶機/伺服器通信的開銷有哪些 141
11.15 一個客戶在一個伺服器中可以有幾個當前請求 144
11.16 可以對伺服器功能加以擴展嗎 144
11.17 示例代碼 144
11.18 小結 145
第12章 客戶機/伺服器框架實踐 147
12.1 客戶機/伺服器請求代碼 148
12.2 客戶樣板代碼 148
12.3 啟動伺服器並連線上客戶 155
12.4 伺服器啟動代碼 159
12.5 伺服器類 161
12.6 伺服器關閉 168
12.7 訪問伺服器 168
12.8 小結 169
第13章 二進制類型 171
13.1 Symbian OS的EXE 171
13.2 Symbian OS的DLL 172
13.3 可寫的靜態數據 173
13.4 執行緒局部存儲(Thread-Local Storage) 176
13.5 DLL裝載器 178
13.6 UID 179
13.7 targettype限定符 180
13.8 小結 182
第14章 ECOM 183
14.1 ECOM的架構 183
14.2 ECOM接口的特性 185
14.3 工廠方法 186
14.4 實現一個ECOM接口 188
14.5 資源檔案 190
14.6 示例客戶代碼 192
14.7 小結 193
第15章 嚴重錯誤(Panic) 194
15.1 即時調試 194
15.2 良好的嚴重錯誤風格 195
15.3 Symbian OS嚴重錯誤的分類 196
15.4 讓另一個執行緒發生嚴重錯誤 197
15.5 故障(fault)、異常退出和嚴重錯誤 198
15.6 小結 199
第16章 用斷言發現bug 200
16.1 _ASSERT_DEBUG 201
16.2 _ASSERT_ALWAYS 204
16.3 小結 205
第17章 調試宏與測試類 207
17.1 堆檢查宏 207
17.2 對象恆定宏 211
17.3 用RTest進行控制台測試 213
17.4 小結 216
第18章 兼容性 217
18.1 向前和向後兼容性 218
18.2 原始碼兼容性 219
18.3 二進制兼容性 220
18.4 防止破壞兼容性 220
18.5 在不破壞二進制兼容性的情況下可以做哪些變更 225
18.6 最佳實踐:為未來的變化做打算 227
18.7 兼容性與Symbian OS類的類別 229
18.8 小結 229
第19章 輕量級模板 230
第20章 展示一個全面而易理解的API 234
20.1 類布局 235
20.2 IMPORT_C和EXPORT_C 235
20.3 參數和返回值 237
20.4 成員數據和功能抽象 241
20.5 選擇類、方法和參數的名字 244
20.6 編譯器生成的函式 245
20.7 小結 246
第21章 良好的編碼風格 248
21.1 減小代碼尺寸 248
21.2 小心地使用堆記憶體 250
21.3 小心地使用棧記憶體 254
21.4 消除子表達式,最大化代碼效率 256
21.5 推遲最佳化 258
21.6 小結 258
附錄1 代碼檢查列表 259
類的聲明 259
頭檔案 259
注釋 260
構造函式 260
析構函式 260
分配與刪除 260
清除棧和異常退出安全 261
循環與程式流控制 261
程式邏輯 262
描述符 262
容器 263
附錄2 術語表 264
附錄3 參考書目及線上資源 267