RawMemoryExport

RawMemoryExport[expr]

expr の素のメモリ表現をエキスポートする.

RawMemoryExport[expr,type]

配列を返す際に指定の要素型を使う.

詳細とオプション

  • RawMemoryExportは管理されたRawPointerオブジェクトを返す.
  • expr が文字列,ByteArray,あるいはNumericArrayのときは type を省略することができる.
  • 以下は,使用可能な要素型と対応する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出力なし(入力型のみ)
  • exprByteArrayまたはNumericArrayのときは,要素型として使えるのは整数型と実数型のみである.
  • 次は,サポートされるオプションである.
  • CharacterEncoding "UTF-8"文字符号化

例題

すべて開くすべて閉じる

  (2)

整数の素のメモリ表現をエキスポートする:

ポインタのコンテンツを読む:

文字列の素のメモリ表現をエキスポートする:

素のメモリのコンテンツをインポートする:

スコープ  (3)

RawMemoryExportの第2引数を使ってエキスポートされる素のメモリの要素型を指定する:

エキスポートされる式が文字列,ByteArray,またはNumericArrayのときは,要素型が省略できる:

文字列がエキスポートされるとき,素のメモリはヌル終端される:

オプション  (1)

CharacterEncoding  (1)

文字列をエキスポートする際にどのCharacterEncodingを使うべきかを指定する:

ポインタのコンテンツを比較する:

特性と関係  (3)

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

UnmanageObjectを使ってポインタの管理をやめる:

RawMemoryImportRawMemoryExportの逆の操作である:

ForeignFunctionLoadを使って素のメモリの要素の和を計算する関数をロードする:

"CLong"オブジェクトの素のメモリのリストをエキスポートする:

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

考えられる問題  (5)

文字列は"UnsignedInteger8"オブジェクトの素のメモリとしてしかエキスポートできない:

入力式がリストのときは,素のメモリの要素型を自動的に決定することはできない:

目的とする要素型を指定する:

要素型がサポートされていない場合,RawMemoryExport$Failedを返す:

要素が指定の要素型と一致しない場合,RawMemoryExport$Failedを返す:

エキスポートされる式がByteArrayまたはNumericArrayのときの要素型は整数型か実数型だけである:

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

テキスト

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

CMS

Wolfram Language. 2023. "RawMemoryExport." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RawMemoryExport.html.

APA

Wolfram Language. (2023). RawMemoryExport. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RawMemoryExport.html

BibTeX

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

BibLaTeX

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