1
在之前的Swift版本中,我可以使用posix_memalign
函數來分配對齊的內存以幫助優化某些操作。自從升級到Swift 3 beta(包含Xcode 8 beta 2)以來,它一直在失敗,我不知道爲什麼。這可能只是beta版本的一個問題,或者我只需要改變我如何與函數接口。Swift 3中的對齊內存
下面顯示了我用於調查問題的示例代碼。 (它嘗試分配浮動即16K對齊的點數的緩衝器。)
var pointer: UnsafeMutablePointer<Void>? = nil
let alignment: Int = 0x4
let length: Int = bufferSize
let ret = posix_memalign(&pointer, alignment, length * sizeof(Float))
if ret != noErr {
let err = String(validatingUTF8: strerror(ret)) ?? "unknown error"
fatalError("Unable to allocate aligned memory: \(err).")
}
的posix_memalign
失敗,一個「無效參數」。信息。
任何想法?