用語
勉強していてよくわからない用語があったりするのでここにメモしておく。
- Symbian OS C++
- "Symbian OS" + "ビルドするためのC++(方言有)" + "フレームワーク" をさす。C++の方言の使用はプラットフォームがことなること、リソース制限(メモリ、消費電力)の2つの理由からなる。
- Avkon
- Series 60の拡張およびSymbian OS 6.1 Uikonアプリケーションフレームワークへの変更
- CBA
- Command Button Area(コマンドボタンエリア)ソフトキーにより制御されるツールバー。
- UI
- User Interface(ユーザインターフェース)。
- EPOC16(もしくはSIBO)
- Symbian OSのベースとなった古いオペレーティングシステム。
- Leave(リーブ)
- オブジェクトのヒープメモリの割り当てに失敗すること。標準C++のthrowに対応するもの。例外処理に"Leave"メカニズムを使用する。Series 60デバイスにメモリ制限があるのでメモリ管理は重要な課題。Leaveする関数は、関数名が"L"で終わっているかどうかで識別できる。
- 2フェーズコンストラクション(two-phase construction)
- newで割り当てるオブジェクトの中にnewで割り当てるオブジェクトがあるような複雑なオブジェクトを安全に構築するパターン。オブジェクト内のオブジェクトの割り当てをコンストラクタで行わず構築用の関数を用意することで安全に構築できるようにする。第2フェーズコンストラクタと呼ばれる。通常はConstructL()を使用する。
- ファクトリ関数(ファクトリ関数)
- 通常のコンストラクタの代役をつとめるstatic関数。NewL()やNewLC()をさす。
- クリーンアップスタック
- オブジェクト生成の際、ローカルスコープ内でオブジェクトをさすポインタをクリーンアップスタックへプッシュする。
- TRAP
- コード内で指定した少し前のポイント。tryとcatchをあわせたようなもの。
- パニック
- 修正不可能なエラー。アプリケーションやコンポーネントスレッドは、自発的または強制的に終了する。
- リソースファイル
- ユーザインタフェースコンポーネントやテキスト文字列を定義する。STRUCTの定義は.rhファイルに書かれる。
- XIP
- eXecute In Place。NOR型フラッシュはバイト単位での読み出しが可能で、この性質を用いるとプログラムのイメージをRAMにコピーせず、直接実行する仕組みのこと。
- デフォルトヒープ
- 全てのスレッドに割り当てられているヒープ(動的オブジェクト)で、実行時にそこからメモリを割り当てることができる。ここには、大きなオブジェクト、実行時にしか構築できないオブジェクトを置く。
- ディスクリプタ
- Symbian OSにおいて文字列やバイナリデータを扱うときに用いる一群のクラス。ディスクリプタクラスはすべて基底クラスTDesCを継承する。ディスクリプタには、スタックディスクリプタ、ポインタディスクリプタ、ヒープディスクリプタの3つに分類できる。