我有一個C++函數(包裹在OBJ-C文件在Xcode):將幀緩衝區從Swift傳遞到C++的正確方法是什麼?
int64_t* findEdges(int64_t* pixels, int width, int height);
,我想從夫特3調用,並通過在一個完整的畫面數據的緩衝器。狩獵周圍後我與調用它:
var ptr = (NSData(data: imageRep.tiffRepresentation!).bytes).bindMemory(to: Int64.self, capacity: 4 * height * width).pointee
let processor = findEdges(&ptr, width, height)
但訪問大約30點或40的地址在C++文件後,我收到了EXC_BAD_ACCESS
崩潰。
問題是我從Swift傳遞不安全的指針?什麼是正確的呼叫程序?
感謝您的詳細解答。我會看看你的建議。 – Todd
祕密是學習'.withUnsafeMutableBytes' – Todd