_Lと_LITの違い

  • 2008.07.11 Friday
  • 12:52
SymbianOSのアプリケーションソースを見ていると、
リテラル文字列の宣言に_Lが使ってあったり、_LITが使ってあったりする。


Essential Symbian OS コーディング技法によると、
以下のような違いがあるのだそうだ。

14. アプリケーションでは、_L()マクロのかわりに
_LIT()を使用してください。_L()マクロは
Symbian OS v5 以降サポートしていません。_L()は、
文字列の長さを取得するためにstrlen()関数を
コールするTPtrC(const TText*)コンストラク
タを呼び出す問題があります。この関数は余分な
RAM を使いませんが、CPU サイクルを消費します。
一方、_LIT()マクロは、コンパイル時に初期化さ
れるストラクチャを作成するため、TPtrC による
CPU の負荷を回避することができます。また、ハー
ドコードされた文字定数の使用の是非も検討してく
ださい。ハードコードされた文字定数のディスクリ
プタは、アプリケーションのローカライズの際にプ
ログラムの変更が必要です。

以上、メモ書き。

TPtrで宣言した変数の文字列操作が出来ない

  • 2008.07.11 Friday
  • 12:44
最近SymbianOSをいじっている。Carbide.c++環境(重い。。。)。

TPtrでデスクリプタのポインタを受け取って操作が出来る(->ではなく.でメンバ関数をcall)。
でも、SetLength()をしてやらないと操作が出来ない。

気がつけば当たり前なのだけど。まだ馴染んでおらず初歩的なところで躓いている。

calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< July 2020 >>

Google サイド広告

selected entries

categories

archives

recent comment

recent trackback

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM