出版時間:2010-1 出版社:清華大學(xué)出版社 作者:(美)奧布里 等著,杜青 譯 頁數(shù):297 譯者:杜青
Tag標簽:無
前言
本書是為那些時間緊迫的開發(fā)者而設(shè)計的。 作為開發(fā)者的您有可能被告知:需要把一些最初為其他操作系統(tǒng)開的程序(比如,運行在臺式機上的程序)移植到Symbian OS。也有可能您不得不調(diào)研,以確定Symbian OS是否適合實現(xiàn)一個出自您設(shè)計師朋友的想法。但問題在于,您沒有足夠多的時間,而且您也聽說過Symbian OS是一個成熟穩(wěn)定而又復(fù)雜豐富的系統(tǒng),學(xué)習(xí)起來并不輕松。 如果您的想法和大多數(shù)軟件工程師的一樣,您很可能希望能花些時間去調(diào)研這些任務(wù)。您可能更傾向于去參加一個培訓(xùn),或者從Symbian OS已存在的廣泛文檔資料中找出解決方案。然而,我猜想您并沒有充裕的時間那么做——因為您要面對的是緊迫的進度表所帶來的壓力。您也難以擠出足夠的空閑時間來進行寬泛的研究。您的上司需要您周末就做出報告,所以您不得不盡快找出答案。 這就是Symbian Press出版本書的原因。這里我們假設(shè)您是聰明、機智的軟件工程師,并且已經(jīng)掌握了C++語言和一些現(xiàn)代軟件編程方面的方法和模式。您愿意努力學(xué)習(xí),并且能快速掌握要點。您已經(jīng)做好了暫時對一些問題不加深究的準備,這樣帶來的好處是您可以快速找出在Symbian OS中完成各種不同任務(wù)的方法。隨著學(xué)習(xí)的深入,您很可能希望去了解更多的背景知識以及Symbian OS的深層原理,但是沉住氣——當(dāng)務(wù)之急是:您需要找到一些速成的訣竅。 恭喜您,本書就為您提供了這些訣竅!
內(nèi)容概要
對于初次接觸Symbian OS的C++程序員來說,本書是必讀的,它從最基礎(chǔ)的知識入手,向讀者展示了基于Symbian開發(fā)手機應(yīng)用程序的知識和技巧?! ≡谝苿娱_發(fā)領(lǐng)域,不管您是需要移植一個桌面應(yīng)用程序,快速創(chuàng)建一個程序原型,還是僅僅希望學(xué)習(xí)一些程序開發(fā)的知識,本書都將是您了解和學(xué)習(xí)Symbian OS的首選。同時,本書還是幫助讀者解決移動開發(fā)難題的實用手冊,尤其是第4章,以任務(wù)驅(qū)動的方式介紹了Symbian OS手機開發(fā)的難點,并列舉了作者多年積累的一些開發(fā)訣竅。每個任務(wù)都事先指明了難度等級、完成需要的時間等,之后是如何完成該任務(wù)的細節(jié)以及編程竅門?! ”緯厣骸 ?從Symbian OS移動開發(fā)基礎(chǔ)知識入手,涵蓋Symbian OS所有技術(shù):圖形和繪圖、多媒體、網(wǎng)絡(luò)、基于位置的服務(wù)、通話、短信息等。 ● 以任務(wù)驅(qū)動的方式來介紹Symbian OS開發(fā)技術(shù),在介紹技術(shù)的同時,指出其實際應(yīng)用?! ?作者多年開發(fā)經(jīng)驗的總結(jié),多達112個編程訣竅,將使讀者少走許多彎路。
作者簡介
Michael Aubert在Symbian的Java組和iAnywhere的研發(fā)組總共工作了7個年頭。期間,他對包括手機通話、短信息、3D圖像、網(wǎng)絡(luò)、多媒體、PIM、密碼、系統(tǒng)安全及軟件部署在內(nèi)的許多技術(shù)都有很深入的研究。
他擁有E.S.I.A.L軟件工程學(xué)院的理學(xué)碩士學(xué)位,并且還很有可能是唯一一
書籍目錄
第1章 入門和設(shè)置 1.1 工具:您需要什么以及從哪里獲得 1.1.1 系統(tǒng)需求 1.1.2 IDE 1.1.3 SDK 1.1.4 編譯器 1.2 當(dāng)?shù)却惭b時 1.2.1 Carbide.c++ 1.2.2 開發(fā)社區(qū) 1.2.3 移動開發(fā)的概念 1.2.4 ARM硬件 1.2.5 模擬器 1.3 安裝結(jié)束后 1.3.1 命令行工具 1.3.2 SDK的目錄結(jié)構(gòu) 1.3.3 模擬器 第2章 快速上手 2.1 Hello World項目模板 2.2 運行Carbide.c++ IDE 2.3 生成Hello World項目 2.4 構(gòu)建Hello World項目 2.5 在模擬器上運行Hello World程序 2.6 在設(shè)備上運行Hello World程序 2.7 修改Hello World項目 2.7.1 添加一個新的菜單項 2.7.2 處理菜單事件 2.8 Carbide.c++高級議題 2.8.1 修改項目文件 2.8.2 導(dǎo)入項目文件 2.8.3 改變認證/密鑰對 2.9 鏈接 第3章 Symbian OS開發(fā)基礎(chǔ) 3.1 Symbian OS的基本數(shù)據(jù)類型 3.2 Symbian OS的類習(xí)俗 3.2.1 T類 3.2.2 C類 3.2.3 R類 3.2.4 M類 3.2.5 靜態(tài)類 3.3 異常退出和異常處理 3.3.1 嚴重錯誤Panic和異常退出的區(qū)別 3.3.2 TRAP和TRAPD宏 3.3.3 是什么造成了異常退出 3.3.4 new(ELeave) 3.4 清除棧 3.5 清除棧常見問題:更多信息 3.5.1 為什么PushL()會異常退出 3.5.2 在使用清除棧的時候為什么會出現(xiàn)嚴重錯誤 3.5.3 當(dāng)代碼運行出TRAP以后為什么會出現(xiàn)嚴重錯誤 3.5.4 當(dāng)調(diào)用CleanupStack::Pop()時為什么會產(chǎn)生嚴重錯誤 3.5.5 應(yīng)該如何綜合使用異常退出、標準異常處理以及清除棧 3.6 兩階段構(gòu)造 3.7 瘦模板 3.8 描述符——Symbian OS字符串 3.8.1 字符大小 3.8.2 TDesC 3.8.3 TDes 3.8.4 描述符的繼承類 3.8.5 指針型描述符:TPtrC和TPtr 3.8.6 基于棧緩存的描述符TBufC和TBuf 3.8.7 動態(tài)描述符:HBufC和RBuf 3.8.8 使用RBuf 3.8.9 字面描述符 3.8.10 描述符類型:總結(jié) 3.8.11 使用描述符API 3.8.12 用作函數(shù)參數(shù)和返回值的描述符 3.9 Symbian OS中的數(shù)組 3.9.1 靜態(tài)數(shù)組 3.9.2 動態(tài)數(shù)組 3.9.3 RArray類的清除 3.9.4 什么時候應(yīng)該使用CArrayX數(shù)組 3.9.5 排序和查找 3.10 可執(zhí)行文件 3.11 平臺安全:能力 3.12 平臺安全:數(shù)據(jù)隔離 3.13 棧大小和堆大小 3.14 流 3.15 活動對象 3.15.1 搶占 3.15.2 CActive類 3.15.3 TRequestStatus類 3.15.4 活動調(diào)度器 3.15.5 使用活動對象時的常見問題 3.16 線程 3.17 時鐘和回調(diào)函數(shù) 3.18 小結(jié) 第4章 Symbian C++訣竅 第5章 更上一層樓 第6章 發(fā)布程序
章節(jié)摘錄
插圖:在單個的應(yīng)用程序線程中,活動對象之間是獨立運行的,這有點類似于線程在同一個進程內(nèi)是相互獨立的。簡單介紹之后可以發(fā)現(xiàn),在單個線程中切換活動對象比線程內(nèi)容切換負擔(dān)要小,這對于Symbian OS上的輕量級多任務(wù)事件驅(qū)動來說是非常理想的。3.15.1搶占在一個單獨的線程內(nèi),活動對象構(gòu)架采用的是非搶占多任務(wù)機制。一旦被喚起,其事件處理就必須被運行直到完成,之后才可以運行其他活動對象的事件處理——不可以被搶占。一些事件對請求的響應(yīng)時間有嚴格的限定,而不管系統(tǒng)中其他的活動如何(比如低級別的通話模塊)。這被稱作“實時”事件處理?;顒訉ο蟛贿m合用在實時任務(wù)中,Symbian OS中的實時任務(wù)應(yīng)該用高優(yōu)先級的線程來實現(xiàn)。Symbian OS的線程被內(nèi)核以可搶占的方式調(diào)度,總是去運行那些符合條件的最高優(yōu)先級的線程。內(nèi)核控制線程的調(diào)度,允許線程以劃分的時間片來共享系統(tǒng)資源,如果一個更高優(yōu)先級的線程達到運行條件,則可以搶占當(dāng)前運行的線程。在當(dāng)前線程被掛起時(比如它被阻塞、用完了自己的時間片或一個更高優(yōu)先級的線程變?yōu)榈却\行狀態(tài)時),會產(chǎn)生一個內(nèi)容切換,在內(nèi)核調(diào)度下另一個線程成為當(dāng)前線程并開始運行。如果最初的線程和要替換的線程運行在不同的進程、內(nèi)存控制單元或硬件緩存中,則內(nèi)容切換從內(nèi)核調(diào)度的角度會產(chǎn)生一個運行時的開銷。
編輯推薦
《Symbian OS C++編程訣竅》:移動與嵌入式開發(fā)技術(shù)
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載