我有一个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