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 charC互換の符号なしchar型
    "CSignedChar"signed charC互換の符号ありchar型
    "CUnsignedShort"unsigned shortC互換の符号なしshort型
    "CShort"shortC互換のshort型
    "CUnsignedInt"unsigned intC互換の符号なしint型
    "CInt"intC互換のint型
    "CUnsignedLong"unsigned longC互換の符号なしlong型
    "CLong"longC互換のlong型
    "CSizeT"size_tC互換のsize_t
    "CFloat"floatC互換のfloat型
    "CDouble"doubleC互換のdouble型
    "OpaqueRawPointer"void*不透明なポインタ
    "RawPointer"::[t]t*型付きポインタ
    {ty1,ty2,}struct {ty1 f1; ty2 f2; }struct型またはproduct型
    "Void"void出力なし(入力型のみ)

例題

すべて開くすべて閉じる

  (2)

"CInt"型のオブジェクトを割り当てる:

素のメモリに値を書き込む:

値を読む:

CFloat"型の10個のオブジェクトの素のメモリを割り当てる:

素のメモリを0から1までの乱数で初期化する:

素のメモリの値をリストとしてインポートする:

特性と関係  (3)

デフォルトで,RawMemoryAllocateManagedObjectでラップされたRawPointerを返す:

ポインタの管理を外したければUnmanageObjectを使うとよい:

RawMemoryFreeを呼び出して管理されていないポインタを解放する:

RawMemoryWriteを使って素のメモリに値を書き込む:

RawMemoryReadは素のメモリに保存された値を読む:

10個の"CLong"オブジェクトのバッファを割り当てる:

ForeignFunctionLoadを使ってこのバッファに入力する関数をロードする:

バッファとその長さを渡すことでこの関数を呼び出す:

RawMemoryImportを使って素のメモリをリストとしてインポートする:

考えられる問題  (2)

型がサポートされていなければ,RawMemoryAllocate$Failedを返す:

割り当てられたオブジェクトの数は正の整数でなければならない:

Wolfram Research (2023), RawMemoryAllocate, Wolfram言語関数, https://reference.wolfram.com/language/ref/RawMemoryAllocate.html.

テキスト

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

BibTeX

@misc{reference.wolfram_2024_rawmemoryallocate, author="Wolfram Research", title="{RawMemoryAllocate}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/RawMemoryAllocate.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_rawmemoryallocate, organization={Wolfram Research}, title={RawMemoryAllocate}, year={2023}, url={https://reference.wolfram.com/language/ref/RawMemoryAllocate.html}, note=[Accessed: 05-November-2024 ]}