以下函数的 fftwf_plan_dft_1d(...) 行在Ubuntu 中失败。它用于对长度约为 4096 个数字的复向量进行 FFT。
请帮忙。TIA
这是在 Ubuntu 18.04 中编译和运行的 C 代码。不存在编译问题。
extern void cpxfft(fftwf_plan plan, cpx_t *cpx, int n)
{
#ifdef FFTMTX
mlock(hfftmtx);
#endif
if (plan==NULL) {
fftwf_plan_with_nthreads(NFFTTHREAD); /* fft execute in multi threads */
plan=fftwf_plan_dft_1d(n,cpx,cpx,FFTW_FORWARD,FFTW_ESTIMATE);
fftwf_execute_dft(plan,cpx,cpx); /* fft */
fftwf_destroy_plan(plan);
} else {
fftwf_execute_dft(plan,cpx,cpx); /* fft */
}
#ifdef FFTMTX
unmlock(hfftmtx);
#endif
}
控制台显示以下错误消息:
free(): invalid next size (fast)
Aborted (core dumped)