svHacker は SophiaFramework UNIVERSE または SophiaCompress(BREW) EARTH の保守サービスを契約されているお客様に無償提供される BREW 開発ツールです。
svHacker の機能
BREW では仕様上、大域変数(グローバル変数)や静的変数(static変数)が使用できません。
本ツールを利用すると、コンパイル後の mod ファイルにパッチを当てることで、これらの変数が使用できるようになります。
これにより、大域変数や静的変数を使ったプログラムやライブラリの BREW への移植作業が大幅に簡略化されます。
svHacker の使い方
コンパイルオプションの変更を行うために、アプリケーションのコンパイル前に svHacker を利用してメイクファイルを書き換えます。この作業はメイクファイルを作成した後に一度だけ行います。
その後、コンパイルを行い、再度 svHacker を利用し大域変数や静的変数を使用できるようにmodファイルを書き換えます。
[ svHacker の操作画面 ]
BREWへの移植をサポート
svHacker と SophiaFramework の ARM 組込み標準関数と GUI フレームワークを組み合わせると、PC / PDA 用アプリケーションの BREW への移植がスムーズにいきます。
PDA などのアプリケーションを BREW に移植する方法
開発背景
Palm や PocketPC などの PDA 、ソニーの PSP、アップルの iPod、任天堂の Nintendo DS のプロセッサには BREWが搭載された携帯電話と同じ ARM 社プロセッサが搭載されています。
したがって、これらの携帯端末から BREW への移植は容易なはずですが、BREWではC言語の大域変数と浮動小数演算などのARM組込標準関数が利用できず、大きな障害となっていました。
そこで、BREW の仕様を超えてC言語の大域変数や静的変数を利用可能にするツール「svHacker」と 標準的浮動小数点演算を利用できる関数を提供し、BREWへ移植を支援します。
浮動小数点演算使用方法
SophiaFramework では Float32, Float64 型を使えば、通常の float, double と同じように浮動小数点演算ができます。
[BREW API のみを使用したコード]
// 浮動小数点型の値を整数型の値に変換します。 #define SIZE 64 double doubleVal = -1.234; int intVal = 0; char charStr[SIZE] = {0}; AECHAR aecharStr[SIZE] = {0}; // double 型の数値をワイド文字列に変換します。 boolean b = FLOATTOWSTR(doubleVal, aecharStr, SIZE); // ワイド文字列を char 文字列に変換します。 WSTRTOSTR(aecharStr, charStr, SIZE); // char 文字列を int 型の数値に変換します。 intVal = ATOI(charStr);
[SophiaFramework を使用したコード]
// 浮動小数点型の値を整数型の値に変換します。 Float64 doubleVal(-1.234); SInt32 intVal = (SInt32)doubleVal;
動作確認環境
Windows 環境 | Windows XP Professional / Windows 2000 Professional (SP4 以降) |
---|---|
BREW 環境 | BREW SDK 4.0.X / 3.1.X / 2.1.X |
サポートについて
ソフィア・クレイドルは本ソフトウェアの使用または使用不能に関する、サポートを一切実施いたしません。
また、本ソフトウェアの使用によるいかなる障害や問題に対しても、一切の責任を負いません。