a天堂国产 I 久久图片 I 91精品高清 I 亚洲人人玩人人添人人 I 婷婷伊人五月色噜噜精品一区 I 亚洲第一页夜 I 91日韩精品视频 I 无码人妻在线一区二区三区免费 I www.五月婷婷.com I 国产精品久久久久亚洲影视 I 91久久精品一二三 I 国产ts一区 I 91精品乱码久久蜜桃 I 成人免费观看高清 I 久久久久久国产精品免费无码 I 久久免费少妇高潮99精品 I 国产探花在线免费观看 I 亚洲精品少妇 I 亚洲综合成人亚洲 I 欧美区一区二区 I 手机福利视频 I 亚洲欧美综合另类自拍 I 久久精品视频免费播放 I 亚洲精品久久 I av免费在线免费观看 I 亚洲热综合 I 中文字幕无码专区人妻制服 I 午夜免费一区二区 I 在线亚洲精品国产一区麻豆 I 久久精品免费在线观看 I 全国最大成人网 I 亚洲欧美经典视频 I 手机av在线看 I 偷拍视频一区二区三区 I 吃奶摸下激烈视频学生软件


曙海教育集團論壇3G手機技術專區Symbian開發 → 文本數據及二進制數據的描述符介紹


  共有9504人關注過本帖樹形打印

主題:文本數據及二進制數據的描述符介紹

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
文本數據及二進制數據的描述符介紹  發帖心情 Post By:2010-12-3 14:07:05

文本數據及二進制數據的描述符介紹


Symbian OS: 文本數據及二進制數據的描述符介紹| 5
1. 簡介
描述符(Descriptors )是Symbian OS 的基本組成部分,它提供了對字符串進行操作的一些
規則,同時也用作二進制數據的容器(containers )。描述符在許多函數原型中使用,因
此,理解如何有效地使用描述符是非常重要的。
本文討論了各種描述符,范圍從基本知識到高級功能。讀者至少應該熟悉一些基本的
Symbian OS 概念;可以參閱《Symbian 開發伙伴庫》[SYM70]中的《基本編程規范》一
節。
第二章幫助讀者理解使用傳統C 字符串和Symbian 描述符時遇到的一些內存問題。第三章
通過類型的層次結構、各類型的特點、字符串操作方法、字符轉換,以及一些調試問題等對
各種描述符進行了簡要解釋。第四章給出了一些與描述符有關的APIs。第五章講述了如何用
描述符替換各種C 字符串,以便讓熟悉C 語言的程序員們能快速找到相應的規則。
版本1.0 | 2004 年5 月28 日

Symbian OS: 文本數據及二進制數據的描述符介紹| 6
2. 變量聲明與內存
在本章中,程序員們可以了解到字符串聲明與內存的關系(此信息一般也適用于變量聲
明)。各種資源受限的手持設備其內存問題和資源管理問題至關重要。理解Symbian OS 編
程的一些基本原則對于設計出具有良好性能的軟件及其重要。
2.1 節講述了邏輯內存區。2.2 節討論了C 字符串聲明的修正,其目的是將讀者引導到
Symbian 字符串聲明及其與內存之間的關系等課題。
許多有關內存的問題可參閱《針對移動電話的Symbian OS C++ 》[SOSC]一書。還可參閱
《Symbian 開發伙伴庫》[SYM70]一文;讀者可以閱讀有關進程、線程,以及內存管理等方
面的課題。
2.1 變量與內存
聲明變量時,會在內存中的某個地方保留其內部數據機構。根據這種聲明的具體情況,數據
被儲存到下列內存類型之一:
. 二進制程序。編譯器對各個源程序進行編譯,而連接器將他們連接起來。其結果
就被稱為二進制程序。當聲明靜態變量和常變量時,其數據被包括在變量中并成
為二進制程序的一部分。必須在程序代碼中對這類變量進行初始化。因為它們都
是常量,在程序運行過程中并不能改動這些數據,所以也將它們作為該二進制程
序的一部分傳遞。
既可以直接從ROM 運行程序,也可以將其加載到只讀RAM 中,并從那里運
行。這兩種內存中的變量都受到保護,不會被某些不適當的代碼所修改。這就是
諸如文字這類常量靜態數據被儲存在二進制程序中的原因。
為二進制程序所聲明的變量都存在于該程序的整個生命周期之中。它們不需要程
序員進行任何內存管理;當程序結束時,為該二進制程序所分配的RAM 被操作
系統所釋放。而如果是ROM,就不必為二進制程序作任何事情。
. 全局數據。如果某個變量被聲明成靜態的,但并不是常量,它就被認為是全局數
據。在Symbian OS 中,只有可執行的.exe 才具有全局數據。如果為.dll 聲
明了全局數據,那么當針對ARM 平臺編譯時,編譯過程就會報錯停止。
當.exe 被作為一個進程而啟動并具有全局數據時,會為全局數據保留一個自己
的內存區域。由于使用全局數據通常并非好設計,而且由于許多應用都是.dll
可執行程序,對全局數據的使用不在本文中講解。
. 棧。Symbian OS 中的每個線程都有其自己的棧。自動化變量被分配到該棧中。
當調用某個方法時,其參數也被分配到這個棧中。因為棧尺寸很有限(對于
Symbian OS 更是如此),只有一小部分的數據可以被分配到這個棧中。在函數
調用中,必須使用對象的指針或引用,以降低將這些對象副本分配到棧中的需
求。
由于規定了棧中變量的生命周期,所以當該程序塊結束時,該程序塊中全部已被
聲明的自動化變量都會被自動刪除。如果該變量是一個類,它有一個析構函數,
那么在將該對象移出棧之前就會先調用這個析構函數。
. 堆。Symbian OS 中的每個線程都有一個堆。這是一個內存區域,其中放置所有
被動態分配的對象。用對象C++ 的關鍵字new 將各個對象分配到這個堆中


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

文本數據及二進制數據的描述符介紹








簽名