本文目的:学习安装fftw!
参考资源:
百度文库
注明:我的电脑是32位的,xp系统,安装的是VC++6.0中文版,本文大部分为转载,仅供个人学习收藏之用!
5.然后在cmd中输入lib.exe(即运行),会有如下提示:
这时候ib命令就可以使用了。
6,在cmd进入上面一直提到的bin目录,并依次运行:
lib /machine:i386 /def:libfftw3-3.def
lib /machine:i386 /def:libfftw3f-3.def
lib /machine:i386 /def:libfftw3l-3.def
7,.将libfftw3f-3.dll libfftw3-3.dll libfftw3l-3.dll放入windows/system32中,然后将生成的库文件libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib放入vc中的lib文件夹,即C:\Program Files\Microsoft Visual Studio\VC98\Lib下;把fftw3.h放入include文件夹。
8.然后在工程》设置》连接》分类选择输入,在对象/库模块中添加以下三项
libfftw3-3.lib
libfftw3f-3.lib
libfftw3l-3.lib
即如下效果:
9,测试安装成功与否
新建一个windows console Application工程,Copy以下代码:
#include "fftw3.h" int main() { fftw_complex *in,*out; //复数类输入输出指针 fftw_plan p; //声明傅里叶计划变量p int N=8; int i; int j; in=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*N); //分配输入数据内存 out=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*N); //输出 for(i=0;i<</SPAN> N; i++) { in[i][0]=1.0; //实数 in[i][1]=0.0; //虚数 printf("%6.2f",in[i][0]); } printf("\n"); p=fftw_plan_dft_1d(N,in,out,FFTW_FORWARD,FFTW_ESTIMATE); //配置计算计划 fftw_execute(p); //执行配置计划,快速傅里叶转换 for(j=0;j <</SPAN> N;j++) //看不懂???????????????????? { printf("%6.2f",out[j][0]); } printf("\n"); //换行 fftw_destroy_plan(p); //销毁数据 fftw_free(in); //释放输入数据 fftw_free(out); //释放输出数据 return 0; } 妈淡,说真的,本程序没看懂! 其他 fftw_plan_dft_1d表示一维的快速傅里叶变换。 FFTW_FORWARD是正变换 ; FFTW_BACKWARD是逆变换。 FFTW_MEASURE表示FFTW会先计算一些FFT并测量所用的时间,以便为大小为n的变换寻找最优的计算方法。10,运行结果