SophiaFramework UNIVERSE 5.3 |
C++ 言語の全てのメモリ操作について、BREW シミュレータ上でのメモリの追跡が可能です。
MemoryAllocate マクロは、BREW シミュレータ上でのメモリ追跡が可能なメモリ割り当て機能を提供します。
注意 | |
---|---|
MemoryAllocate マクロはメモリを初期化しません。 |
TARGET_ENVIRONMENT_SIMULATOR マクロが定義されている場合は SFDWatcher::malloc に、 TARGET_ENVIRONMENT_PHYSICAL マクロが定義されている場合は SFXHelper::malloc に 置き換えられます。
SInt16Ptr p = reinterpret_cast<SInt16Ptr>(MemoryAllocate(sizeof(SInt16) * 256));
注意 | |
---|---|
上のコードでは SInt16 256個分のメモリを確保しています。 |
注意 | |
---|---|
SophiaFramework UNIVERSE では、BREW ヘルパー関数の MALLOC 関数と ERR_MALLOC 関数の代わりに MemoryAllocate マクロを使います。 |
MemoryReallocate マクロは、BREW シミュレータ上でのメモリ追跡が可能なメモリ再割り当て機能を提供します。
TARGET_ENVIRONMENT_SIMULATOR マクロが定義されている場合は SFDWatcher::realloc に、 TARGET_ENVIRONMENT_PHYSICAL マクロが定義されている場合は SFXHelper::realloc に 置き換えられます。
注意 | |
---|---|
MemoryReallocate マクロはメモリを初期化しません。 |
SInt16Ptr p = reinterpret_cast<SInt16Ptr>(MemoryAllocate(sizeof(SInt16) * 256)); ... p = reinterpret_cast<SInt16Ptr>(MemoryReallocate(p, sizeof(SInt16) * 4096));
注意 | |
---|---|
SInt16 256 個分のメモリを確保した後に、SInt16 4096 個分の領域を広げます。 |
注意 | |
---|---|
SophiaFramework UNIVERSE では、BREW ヘルパー関数の REALLOC 関数と ERR_REALLOC 関数の代わりに MemoryReallocate マクロを使います。 |
MemoryFree マクロは、BREW シミュレータ上でのメモリ追跡が可能なメモリ解放機能を提供します。
TARGET_ENVIRONMENT_SIMULATOR マクロが定義されている場合は SFDWatcher::free に、 TARGET_ENVIRONMENT_PHYSICAL マクロが定義されている場合は SFXHelper::free に 置き換えられます。
SInt16Ptr p = reinterpret_cast<SInt16Ptr>(MemoryAllocate(sizeof(SInt16) * 256)); ... MemoryFree(p);
注意 | |
---|---|
予め確保されたメモリ領域を解放しています。 |
注意 | |
---|---|
SophiaFramework UNIVERSE では、BREW ヘルパー関数の FREE 関数の代わりに MemoryFree マクロを使います。 |
下表のように、new / delete 演算子によって呼ばれる関数は メモリ追跡機能の有無に関する TARGET_ENVIRONMENT_SIMULATOR / TARGET_ENVIRONMENT_PHYSICAL マクロの定義に依存します。
表 27.2. new / delete 演算子によって呼ばれる関数
演算子 | TARGET_ENVIRONMENT_SIMULATOR (メモリ追跡機能有効) | TARGET_ENVIRONMENT_PHYSICAL (メモリ追跡機能無効) |
---|---|---|
new | SFDWatcher::malloc | SFXHelper::malloc |
delete | SFDWatcher::free | SFXHelper::free |
注意 | |
---|---|
コンストラクタで初期化の記述をしないと、new 演算子はメモリを初期化しません。 |
SophiaFramework UNIVERSE では、メモリの割り当てや解放に関連する BREW ヘルパー関数を使えません。
表 27.3. SophiaFramework UNIVERSE で使えない BREW ヘルパー関数と、その代替としてのマクロ、演算子、関数またはクラス
使えないヘルパー関数 | 代替のマクロ・演算子・関数・クラス |
---|---|
MALLOC、ERR_MALLOC | MemoryAllocate / new |
REALLOC、ERR_REALLOC | MemoryReallocate |
FREE | MemoryFree / new |
STRDUP、ERR_STRDUP | SFXAnsiString |
WSTRDUP | SFXWideString |
TARGET_ENVIRONMENT_SIMULATOR マクロが定義されているときに、 メモリ操作について SFDWatcher クラスを使うと、BREW シミュレータ上でメモリを追跡できます。
参照: SFDWatcher
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |