RawPointer
RawPointer[addr,type]
表示内存地址 addr 处的指定 type 的原始指针.
更多信息
- RawPointer 由 ForeignFunction、RawMemoryAllocate 等函数返回.
- 分配原始内存的函数将返回一个内存托管指针.
- OpaqueRawPointer 可用于表示无类型指针.
- RawPointer[ptr,type] 可用于将指针转换为类型指针.
- RawPointer 的 Information 可包含以下属性:
-
"Address" 内存地址 "Type" 引用的类型 - 可用 RawPointer[…][prop] 提取 RawPointer 的属性.
- 可提取的属性包括上面列出的所有 Information 属性.
范例
打开所有单元关闭所有单元基本范例 (1)
范围 (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 语言. 2023. "RawPointer." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/RawPointer.html.
APA
Wolfram 语言. (2023). RawPointer. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/RawPointer.html 年