RawMemoryAllocate
RawMemoryAllocate[type]
指定の型のバイナリ表現を保存するのに十分な素のメモリを割り当てる.
RawMemoryAllocate[type,len]
len オブジェクトにメモリを割り当てる.
詳細
- RawMemoryAllocateは管理されたRawPointerオブジェクトを返す.
- 次は,使用可能な型と対応するCの型である.
-
"UnsignedInteger8" uint8_t 符号なし8ビット整数 "Integer8" int8_t 符号あり8ビット整数 "UnsignedInteger16" uint16_t 符号なし16ビット整数 "Integer16" int16_t 符号あり16ビット整数 "UnsignedInteger32" uint32_t 符号なし32ビット整数 "Integer32" int32_t 符号あり32ビット整数 "UnsignedInteger64" uint64_t 符号なし64ビット整数 "Integer64" int64_t 符号あり64ビット整数 "CUnsignedChar" unsigned char C互換の符号なしchar型 "CSignedChar" signed char C互換の符号ありchar型 "CUnsignedShort" unsigned short C互換の符号なしshort型 "CShort" short C互換のshort型 "CUnsignedInt" unsigned int C互換の符号なしint型 "CInt" int C互換のint型 "CUnsignedLong" unsigned long C互換の符号なしlong型 "CLong" long C互換のlong型 "CSizeT" size_t C互換のsize_t "CFloat" float C互換のfloat型 "CDouble" double C互換のdouble型 "OpaqueRawPointer" void* 不透明なポインタ "RawPointer"::[t] t* 型付きポインタ {ty1,ty2,…} struct {ty1 f1; ty2 f2; …} struct型またはproduct型 "Void" void 出力なし(入力型のみ)
例題
すべて開くすべて閉じる例 (2)
特性と関係 (3)
デフォルトで,RawMemoryAllocateはManagedObjectでラップされたRawPointerを返す:
ポインタの管理を外したければUnmanageObjectを使うとよい:
RawMemoryFreeを呼び出して管理されていないポインタを解放する:
RawMemoryWriteを使って素のメモリに値を書き込む:
RawMemoryReadは素のメモリに保存された値を読む:
10個の"CLong"オブジェクトのバッファを割り当てる:
ForeignFunctionLoadを使ってこのバッファに入力する関数をロードする:
RawMemoryImportを使って素のメモリをリストとしてインポートする:
考えられる問題 (2)
テキスト
Wolfram Research (2023), RawMemoryAllocate, Wolfram言語関数, https://reference.wolfram.com/language/ref/RawMemoryAllocate.html.
CMS
Wolfram Language. 2023. "RawMemoryAllocate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RawMemoryAllocate.html.
APA
Wolfram Language. (2023). RawMemoryAllocate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RawMemoryAllocate.html