swift – 如何从UnsafeMutableRawPointer中获取字节?

swift – 如何从UnsafeMutableRawPointer中获取字节?,第1张

概述如何通过C API(Core Audio等)将UnsafeMutableRawPointer(Swift 3中的新)访问字节(或Int16,浮动等)移出Swift函数. 负载< T>从内存读取原始字节并构造一个类型T的值: let ptr = ... // Unsafe[Mutable]RawPointerlet i16 = ptr.load(as: UInt16.self) 可选地以字节偏移: 如何通过C API(Core Audio等)将UnsafeMutableRawPointer(Swift 3中的新)访问字节(或Int16,浮动等)移出Swift函数. 负载< T>从内存读取原始字节并构造一个类型T的值:
let ptr = ... // Unsafe[Mutable]RawPointerlet i16 = ptr.load(as: UInt16.self)

可选地以字节偏移:

let i16 = ptr.load(fromByteOffset: 4,as: UInt16.self)

还假设MemoryBound()将Unsafe [Mutable] RawPointer转换为Unsafe [Mutable]指针T,假设指向存储器包含类型T的值:

let i16 = ptr.assumingMemoryBound(to: UInt16.self).pointee

对于一组值,您可以创建一个“缓冲区指针”:

let i16bufptr = UnsafeBufferPointer(start: ptr.assumingMemoryBound(to: UInt16.self),count: count)

缓冲区指针可能已经足够用于您的目的了
是可以下载的,可以类似于数组枚举.
如有必要,请从缓冲区指针创建一个数组:

let i16array = Array(i16bufptr)

正如@Hamish所说,更多的信息和细节可以在那里找到

> SE-0107 UnsafeRawPointer API

总结

以上是内存溢出为你收集整理的swift – 如何从UnsafeMutableRawPointer中获取字节?全部内容,希望文章能够帮你解决swift – 如何从UnsafeMutableRawPointer中获取字节?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1045564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存