RawMemoryExport

RawMemoryExport[expr]

导出 expr 的原始内存表示.

RawMemoryExport[expr,type]

返回数组时使用指定的元素类型.

更多信息和选项

  • RawMemoryExport 返回一个托管的 RawPointer 对象.
  • 如果 expr 是字符串、ByteArrayNumericArray,可省略 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 char与 C 兼容的 unsigned char
    "CSignedChar"signed char与 C 兼容的 signed char
    "CUnsignedShort"unsigned short与 C 兼容的 unsigned short
    "CShort"short与 C 兼容的 short
    "CUnsignedInt"unsigned int与 C 兼容的 unsigned int
    "CInt"int与 C 兼容的 int
    "CUnsignedLong"unsigned long与 C 兼容的 unsigned 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; }构造或 product 类型
    "Void"void没有输出(仅在输出类型中)
  • 如果 expr 是一个 ByteArrayNumericArray,元素类型只能是整数和实数.
  • 支持以下选项:
  • CharacterEncoding "UTF-8"字符编码

范例

打开所有单元关闭所有单元

基本范例  (2)

导出一个整数的原始内存表示:

读取指针的内容:

导出一个字符串的原始内存表示:

导入原始内存的内容:

范围  (3)

RawMemoryExport 的第二个参数指定导出原始内存的元素类型:

如果导出的表达式是一个字符串、ByteArrayNumericArray,可省略元素类型:

导出字符串时,原始内存以 0 结尾:

选项  (1)

CharacterEncoding  (1)

指定导出字符串时应使用何种 CharacterEncoding

比较指针的内容:

属性和关系  (3)

默认情况下,RawMemoryExport 返回封装在 ManagedObject 中的 RawPointer

UnmanageObject 解除对指针的托管:

RawMemoryImportRawMemoryExport 的逆操作:

ForeignFunctionLoad 加载一个计算原始内存元素总和的函数:

将列表导出为 "CLong" 对象的原始内存:

通过传递缓冲区及其长度来调用函数:

可能存在的问题  (5)

只能以 "UnsignedInteger8" 对象的原始内存导出字符串:

如果输入的表达式是列表,则无法自动确定原始内存的元素类型:

指定目标元素类型:

如果碰到不支持的类型,RawMemoryExport 将返回 $Failed

如果元素与指定的元素类型不匹配,RawMemoryExport 将返回 $Failed

如果导出的表达式是一个 ByteArrayNumericArray,则元素类型只能是整数和实数:

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 语言. 2023. "RawMemoryExport." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/RawMemoryExport.html.

APA

Wolfram 语言. (2023). RawMemoryExport. Wolfram 语言与系统参考资料中心. 追溯自 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 ]}