2

以下函数的 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)
4

0 回答 0