RawPointer
RawPointer[addr,type]
メモリアドレス addr における指定の type への素のポインタを表す.
詳細
- RawPointerは,ForeignFunctionやRawMemoryAllocate等の関数によって返される.
- 素のメモリを割り当てる関数はメモリ管理されたポインタを返す.
- OpaqueRawPointerを使って型なしポインタを表すことができる.
- RawPointer[ptr,type]を使ってポインタを型付きポインタにキャストすることができる.
- RawPointerについてのInformationには以下の特性が含まれることがある.
-
"Address" メモリアドレス "Type" 参照される型 - RawPointerの特性はRawPointer[…][prop]で抽出できる.
- 抽出可能な特性には,上記にリストされたすべてのInformation特性が含まれる.
例題
すべて開くすべて閉じる例 (1)
管理されたRawPointerによって表された素のメモリとして文字列をエキスポートする:
スコープ (1)
情報 (1)
特性と関係 (5)
RawMemoryAllocateのような関数はメモリ管理されたRawPointerを返す:
UnmanageObjectを呼び出して管理されたポインタの所有権を得る:
割り当てられたポインタのメモリ管理がもはやアクティブではない点に注意のこと:
管理されていないポインタはRawMemoryFreeで解放してメモリリークを防ぐべきである:
素のポインタがアドレスとして0を有するなら,NullRawPointerQはTrueを返す:
RawPointerをOpaqueRawPointerに変換する:
不透明型の素なポインタをRawPointerに変換し直す:
"UnsignedInteger8"型のオブジェクトに素なメモリを割り当てる:
ポインタをRawMemoryWriteに渡すことで素なメモリの値を書き出す:
RawMemoryReadで素なメモリを読み出す:
10個の"CLong"オブジェクトにバッファを割り当てる:
ForeignFunctionLoadを使ってこのバッファに入力する関数をロードする:
RawMemoryImportを使って素のメモリをリストとしてインポートする:
考えられる問題 (1)
RawPointerは無効なメモリアドレスに対してFailureを返す:
テキスト
Wolfram Research (2023), RawPointer, Wolfram言語関数, https://reference.wolfram.com/language/ref/RawPointer.html.
CMS
Wolfram Language. 2023. "RawPointer." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RawPointer.html.
APA
Wolfram Language. (2023). RawPointer. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RawPointer.html