在 iOS 中,我有一个依赖于vDSP_vgathr的函数调用,它是 Apple Accelerate 框架的成员:
int pix = image.size.height * image.size.width;
float * array = (float *)malloc(sizeof(float) * pix * 4);
float * colorPlane = (float *)malloc(sizeof(float) * pix);
float * y_r = (float *)malloc(sizeof(float) * pix)
int * malloc(sizeof(int) * pix)
vDSP_vgathr(colorPlane, (const vDSP_Length *)idx, 1, y_r, 1, (int)(rate*pix));
我看到了一个与我得到的错误有关的问题EXC_I386_GPFLT
,以及 64 位系统和非规范指针。我见过的解决方案(和另一个tgmath.h
)建议包括,但是当使用(成功编译)时,它什么也不做,我仍然得到EXC_I386_GPFLT
.
我尝试了许多其他潜在的解决方案,包括类型转换各种对象和不同的函数调用。我怎样才能使这个函数调用在 64 位架构下工作?