无法将类型'UnsafeMutableRawPointer'的值转换为预期的参数类型'UnsafePointer <UInt8>?

时间:2020-09-02 02:36:45

标签: swift pointers

如何将UnsafeMutableRawPointer投射到UnsafePointer<UInt8>??就像C中的(unsigned char*)VoidPointer一样?

1 个答案:

答案 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]