一、FFTW库简介(from百度百科)

FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT。

FFTW 还包含对共享和分布式存储系统的并行变换,它可自动适应你的机器, 缓存,存储器大小,寄存器个数。

FFTW 通常比目前其它开源Fourier变换程序都要快,最新版本为fftw-3.3.3。

图1.  FFTW-logo

FFTW 的编码生成器采用面向对象设计技术和面向对象语言Caml 编写;它能自动适应系统硬件,因而可移植性很强。FFTW2.1.5 支持共享存储多线程并行和分布式存储 MPI 并行。FFTW 的运算性能远远领先于目前已有的其它 FFT 软件。

FFTW 为任意大小的模式生成一个计划(plan),通过对该计划施行各种运算完成各种模式的转换;内部结构及其复杂性对用户透明;速度快 (适合各种机器的内部编译器、代码生成器利用 AST 在运行时生成代码并自我优化,而且不占用编译时间,采用分层存储技术)。

FFTW 受到越来越多的科学研究和工程计算工作者的普遍青睐,并为量子物理、光谱分析、音视频流信号处理、石油勘探、地震预报、天气预报、概率论、编码理论、医学断层诊断等领域提供切实可行的大规模 FFT 计算。

下载解压后,文件中存在DLL文件,但是没有LIB文件,需从DEF文件中生成编译所需要的.lib文件。

具体方法

第一步:在Visual Studio 2010中打开Tools > Visual Studio Command Prompt ,转到解压后的文件夹中(比如D:\fftw),使用VS2010自带的lib.exe软件生成LIB文件:

32位:

lib /def:libfftw3-3.def

lib /def:libfftw3f-3.def

lib /def:libfftw3l-3.def

64位:

lib /machine:x64 /def:libfftw3l-3.def

这样对应文件夹下便生成了libfftw3-3.lib、libfftw3l-3.lib、libfftw3f-3.lib三个LIB文件。

该文件夹下还包括原有的fftw3.h和三个DLL文件libfftw3-3.dll、libfftw3l-3.dll、libfftw3f-3.dll。

第二步:新建一个Project后,我们可以选择Project > Properties打开项目属性。把D:\fftw添加到VC++ Directories项目下的Include Directories栏(头文件搜索路径)和Library Directories栏(lib文件搜索路径)中。同时打开Linker>Input 将上面3个LIB文件名添加在Additional Dependencies 栏目中。这样便设置好了路径,使得编译器可以找到我们上面生成的LIB文件。

第三步:我们只要把前面提到的三个DLL文件放在建立的Project文件夹下,这样程序运行时便可以使用了。网络上有人说把DLL放在System32中,这当然可以使用,不过个人认为修改windows文件夹是一大忌讳。

以上只是简单的安装方法,想要彻底理解整个过程,需要windows编程的许多知识。

fftw库 vs2019_FFTW库在VS 2010中的使用方法相关推荐

  1. win7删除计算机库文件,win7怎么将“库”从资源管理器导航栏中删除【图文】

    win7系统打开资源管理器可以看到左侧导航栏中会有"库"."计算机"."网络"等选项,很多用户觉得"库"根本就没有用到, ...

  2. DS之信息挖掘:利用pandas库统计某一列col中各个值出现的次数(降序输出)

    DS之信息挖掘:利用pandas库统计某一列col中各个值出现的次数(降序输出) 目录 利用pandas库统计某一列col中各个值出现的次数(降序输出) 输出结果 实现代码 利用pandas库统计某一 ...

  3. python 图像像素的坐标系方向, PIL库中Image.getpixel()方法, 相机标定之四个坐标系及其关系

    引用文章1: Python的PIL库中的getpixel方法 https://blog.csdn.net/MiniCatTwo/article/details/80608076 引用文章2: 相机标定 ...

  4. linux 查看系统函数库,教你在Linux操作系统中如何创建函数库

    函数库分为静态库和动态库两种.静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存 ...

  5. android java 8_四个库,让你在 Android 中启用 Java 8 功能

    Java 8 的推出引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时简化了各种设计模式的实现方式,是 Java 有史以来最重要的更新. 自 Android N 之后,由于 J ...

  6. 矢量图标库如何引入html,Iconfont矢量图标库在网站中的使用方法

    原标题:Iconfont矢量图标库在网站中的使用方法 大家都知道现在移动端网站设计比较热门,由于移动端的网站页面的收缩性要求很高,必然在网页设计中,一些小点的图标,使用图片收缩性,以及美观上并不是很理 ...

  7. python中datetime库_一天掌握一个Python库--datetime库

    #一天掌握一个Python库--datetime库 **datatime** 模块题共用一些处理日期,时间和时间间隔的函数.这个模块使用面向对象的交互取代了**time**模块中整形/元组类型的时间函 ...

  8. Python中第三方库Requests库的高级用法详解

    Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...

  9. 【华为机考题库学习】--算法篇(更新中……)

    系列文章目录 文章目录 系列文章目录 前言 一.HJ1 字符串最后一个单词的长度 二.HJ2 计算某字符出现的次数 三.HJ3 明明的随机数 四.HJ4 字符串分隔 五.HJ5 进制转换 六.HJ6 ...

最新文章

  1. 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练
  2. SAP PM 初级系列9 - 定义功能位置的安装
  3. Linux的kickstart安装详解
  4. 我的世界:一个村落(其一)
  5. ORACLE如何删除归档日志文件
  6. Linux用extundelete恢复磁盘文件-攻防世界Recover-Deleted-File
  7. 4)线性表[顺序表和链表]
  8. AudioRecorder 录音相关的处理流程
  9. 初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)
  10. poj 2531(dfs)
  11. 交换机putty怎么调试_使用在300和500系列托管型交换机的一个控制台连接通过PuTTY访问CLI...
  12. SDUTOJ3468_广度优先搜索练习之神奇的电梯(BFS + 用vector建图)
  13. Android BLE(1)---蓝牙通讯学习
  14. 好用的Windows屏幕取色器 ColorWanted
  15. 信息内容安全-图像文字识别OCR
  16. 新网站如何让百度快速收录,百度快速收录详细操作教程
  17. win10复制粘贴不能用解决方法汇总
  18. 新手传奇gm架设要学会的几个修改技巧
  19. [Go实战]简单使用scylladb
  20. Java中如何给map数组制空,java.util.HashMap可以存储null键和null值。( )

热门文章

  1. OpenWrite的渠道顺序你说了算!来支持你最喜欢的技术类平台吧!
  2. IntelliJ IDEA 2018.1正式发布!什么?还能这么玩?
  3. 普林斯顿计算机科学系,普林斯顿大学计算机科学系
  4. c++ 动态分配内存
  5. python反转单链表
  6. vs 属性 环境变量
  7. Python代码规范和命名规范
  8. Git tag 打标签
  9. yolo v3学习笔记
  10. K-means算法、高斯混合模型 matlab