如何将UnsafeMutableRawPointer
投射到UnsafePointer<UInt8>?
?就像C中的(unsigned char*)VoidPointer
一样?
答案 0 :(得分:1)
从原始指针开始,您可以从内存中的地址load
// buff is a CVImageBuffer
if let baseAddress = CVPixelBufferGetBaseAddress(buff) {
// baseAddress is an UnsafeMutableRawPointer
let addrptr = baseAddress.assumingMemoryBound(to: UInt8.self) // *
// addrptr is an UnsafeMutablePointer<UInt8>
// ...
}
,也可以绑定以将类型化的指针派生到同一内存:>
net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class org.openqa.selenium.chrome.ChromeDriver
Caused by: net.thucydides.core.webdriver.DriverConfigurationError:
Could not instantiate new WebDriver instance of type class org.openqa.selenium.chrome.ChromeDriver (unknown error: unable to discover open pages
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: '****', ip: '****', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_131'
Driver info: driver.version: ProvideNewDriver
remote stacktrace: Backtrace:
Ordinal0 [0x009F87E3+2852835]
Ordinal0 [0x008E5BB1+1727409]
Ordinal0 [0x007BE4B9+517305]
Ordinal0 [0x00750B3B+68411]
Ordinal0 [0x0074D3A0+54176]
Ordinal0 [0x0076D9F7+186871]
Ordinal0 [0x0076D7FD+186365]
Ordinal0 [0x0076B70B+177931]
Ordinal0 [0x00752584+75140]
Ordinal0 [0x00753650+79440]
Ordinal0 [0x007535E9+79337]
Ordinal0 [0x008FAD5C+1813852]
GetHandleVerifier [0x00B1C616+1075574]
GetHandleVerifier [0x00B1C367+1074887]
GetHandleVerifier [0x00B27497+1120247]
GetHandleVerifier [0x00B1CC16+1077110]
Ordinal0 [0x008F3206+1782278]
Ordinal0 [0x008FC3BB+1819579]
Ordinal0 [0x008FC523+1819939]
Ordinal0 [0x00912B45+1911621]
BaseThreadInitThunk [0x7670F989+25]
RtlGetAppContainerNamedObjectPath [0x770674A4+228]
RtlGetAppContainerNamedObjectPath [0x77067474+180]