1、下载输入可以为实数序列也可以为复数序列的C语言的子函数库,
2、安装安装lib.exe, 其实这是VC、VS系列自带的工具,在VC6.0和VS2013中都有的,我机器上安装了VC6.及VS2013 ,lib.exe的路径如下:D:\Program Files\Microsoft Visual Studio\VC98\Bin (VC6.0的目录)D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin (VS2013的目录)打开Windows的命令提示行窗口(CMD窗口),改变当前目录到D:\Program Files\Microsoft Visual Studio 12\VC\bin(使用cd命令)
3、把下载的文件夹中的libfftw3-3.def,libfftw3f-3.def,libfftw3l-3.def也拷到bin文件夹中。运行下列代码。注意这里默认指定machine为X86架构,所以可能和网上其他的代码有些不一样。lib /def:libfftw3-3.deflib /def:libfftw3f-3.deflib /def:libfftw3l-3.def
4、将libfftw3f-3.dll libfftw3-3.dll libfftw3l-3.dll放入windows/system32中,然后将生成的库文件libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib放入VS中的lib文件夹,把fftw3.h放入include文件夹。
5、在新建工程的时候,记得#include”fftw3.h“,然后设置参数:”项目“==>”项目属性”==>”配置属性”==>”链接器”==>”输入”==>”附加依赖项”,将以下三项添加进去:[这一步很重要!!!]libfftw3-3.liblibfftw3f-3.liblibfftw3l-3.lib
6、测碍测行臬试与使用示例2.1代码测试下面是一段测试代码:#include "fftw3.h" int main() { fftw_complex *i荏鱿胫协n, *out; fftw_plan 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 < 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); /* repeat as needed*/ for(j = 0;j < N;j++) { printf("%6.2f ",out[j][0]); } printf("\n"); fftw_destroy_plan(p); fftw_free(in); fftw_free(out); system("pause");//暂停 return 0; }
7、2代码使用示例使用 FFTW 编程的结构如下:#include <fftw3.h>...{ fftw_complex *in, *out; fftw_p造婷用痃lan p;...in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N); out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N); // 输入数据in 赋值 p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE); fftw_execute(p); // 执行变换...fftw_destroy_plan(p); fftw_free(in); fftw_free(out); }