基于Nokia S60的游戏开发之一
生活随笔
收集整理的這篇文章主要介紹了
基于Nokia S60的游戏开发之一
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本系列文章是基于Nokia Series 60和Symbian OS技術,指導開發(fā)者在現(xiàn)在的Series 60移動電話終端上開發(fā)高級的移動游戲。
Symbian操作系統(tǒng)簡介
Symbian操作系統(tǒng)是所有Symbian OS電話共享的應用編程接口( API)技術的公共核心。 這個核心被命名為"通用技術"(generic technology,簡稱為GT),它被分成不同的版本。 GT包括一個多任務核心、通訊、數(shù)據(jù)管理和圖表中間件,低級圖形用戶界面框架和應用程序引擎。
象智能電話這樣的小型手持設備,通常是資源非常緊張的設備。 這種設備的尺寸和制造費用限制了可用的存儲器,處理速度和電池壽命。 盡管以上這些資源缺乏,但是這些設備還是需要能夠穩(wěn)定運行相當長的一段時間,甚至數(shù)個月。 一旦出現(xiàn)資源溢出的錯誤,對于系統(tǒng)來說重要的事情就是返回到前一個穩(wěn)定的狀態(tài),而不失去任何重要的數(shù)據(jù)。 這使得完全地捕捉和處理每個運行錯誤對于系統(tǒng)和應用程序來說是非常重要的。
由于資源溢出而出現(xiàn)的錯誤,和所有的運行期錯誤一樣被稱為異常。 在標準的C++中,這些異常是使用try-catch-throw機制處理的,但是因為它造成了代碼長度的負面影響,所以Symbian OS提供了它自己的稱為trap harness的機制。
Symbian開發(fā)他們自己的異常處理程序的另一個原因是開發(fā)Symbian OS的時候,try - catch - throw機制還不是C++標準的一部分。trap- harness的概念是使用一個TRAP宏把可能引發(fā)異常的函數(shù)封裝起來。這個宏可用于捕獲多個函數(shù),并且這些函數(shù)可以嵌套。萬一出現(xiàn)一個異常,導致異常的函數(shù)的執(zhí)行就會通過User::Leave函數(shù)終止,相當于標準的C++異常處理中的throw。這被稱為一個leave(離開),它將返回程序執(zhí)行到結束的TRAP宏,在那里相應的恢復動作可以被執(zhí)行。
Symbian OS還提供一個工具,以便清除異常。一個cleanupstack被用于引用只被一個自動變量引用,并且如果出現(xiàn)一個leave的時候需要被釋放的對象。TRAP宏將銷毀cleanupstack中自動變量分配的內存。
Symbian OS提供一個用于在單一線程之內非搶先式多任務處理技術的系統(tǒng)。這個包括活動對象和活動調度程序的系統(tǒng)的設計目標是降低運行時間成本和解決與優(yōu)先計劃線程沖突的同步問題。Symbian OS中的每個應用程序由一個活動調度程序和一個或多個活動對象組成。這個調度程序封裝一個需要異步的服務和依照它們的優(yōu)先權安排活動對象的等待循環(huán)。活動對象封裝實際的異步服務。
Symbian操作系統(tǒng)簡介
Symbian操作系統(tǒng)是所有Symbian OS電話共享的應用編程接口( API)技術的公共核心。 這個核心被命名為"通用技術"(generic technology,簡稱為GT),它被分成不同的版本。 GT包括一個多任務核心、通訊、數(shù)據(jù)管理和圖表中間件,低級圖形用戶界面框架和應用程序引擎。
象智能電話這樣的小型手持設備,通常是資源非常緊張的設備。 這種設備的尺寸和制造費用限制了可用的存儲器,處理速度和電池壽命。 盡管以上這些資源缺乏,但是這些設備還是需要能夠穩(wěn)定運行相當長的一段時間,甚至數(shù)個月。 一旦出現(xiàn)資源溢出的錯誤,對于系統(tǒng)來說重要的事情就是返回到前一個穩(wěn)定的狀態(tài),而不失去任何重要的數(shù)據(jù)。 這使得完全地捕捉和處理每個運行錯誤對于系統(tǒng)和應用程序來說是非常重要的。
由于資源溢出而出現(xiàn)的錯誤,和所有的運行期錯誤一樣被稱為異常。 在標準的C++中,這些異常是使用try-catch-throw機制處理的,但是因為它造成了代碼長度的負面影響,所以Symbian OS提供了它自己的稱為trap harness的機制。
Symbian開發(fā)他們自己的異常處理程序的另一個原因是開發(fā)Symbian OS的時候,try - catch - throw機制還不是C++標準的一部分。trap- harness的概念是使用一個TRAP宏把可能引發(fā)異常的函數(shù)封裝起來。這個宏可用于捕獲多個函數(shù),并且這些函數(shù)可以嵌套。萬一出現(xiàn)一個異常,導致異常的函數(shù)的執(zhí)行就會通過User::Leave函數(shù)終止,相當于標準的C++異常處理中的throw。這被稱為一個leave(離開),它將返回程序執(zhí)行到結束的TRAP宏,在那里相應的恢復動作可以被執(zhí)行。
Symbian OS還提供一個工具,以便清除異常。一個cleanupstack被用于引用只被一個自動變量引用,并且如果出現(xiàn)一個leave的時候需要被釋放的對象。TRAP宏將銷毀cleanupstack中自動變量分配的內存。
Symbian OS提供一個用于在單一線程之內非搶先式多任務處理技術的系統(tǒng)。這個包括活動對象和活動調度程序的系統(tǒng)的設計目標是降低運行時間成本和解決與優(yōu)先計劃線程沖突的同步問題。Symbian OS中的每個應用程序由一個活動調度程序和一個或多個活動對象組成。這個調度程序封裝一個需要異步的服務和依照它們的優(yōu)先權安排活動對象的等待循環(huán)。活動對象封裝實際的異步服務。
總結
以上是生活随笔為你收集整理的基于Nokia S60的游戏开发之一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目标检测方法简介:RPN(Region
- 下一篇: 几个常用有力的特征的分析LBP、HOG、