Fortran Coder

查看: 1862|回复: 4
打印 上一主题 下一主题

[数学库] MKL_DFTI, MODULE, INCLUDE

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2023-6-5 19:09:35 | 显示全部楼层
我一般是单独编译 mkl_dfti.f90 文件。

它是一些独立的module,你可以打开这个文件自行查看:
通常内含两个module,即:
MODULE MKL_DFT_TYPE
MODULE MKL_DFTI


Fortran 不允许在一个module中直接包含另一个module,所以你不能把include语句放在
Module MKL_FFT 里面,因为这样的话 Module MKL_FFT 就包含了 MODULE MKL_DFT_TYPE 和 MODULE MKL_DFTI
放在mod语句前面可以避免这个问题。但是 include 的写法,只适合于“你的整个工程,只有 MKL_FFT 这个模块需要 MKL_DFTI

更好的方法,是单独编译 mkl_dfti.f90,得到 MKL_DFT_TYPE.mod 和 MODULE MKL_DFTI.mod
然后再编译 Module MKL_FFT
这样无需写 include,并且可以解决多个源代码文件中都需要使用 MKL_DFT_TYPE 和 MKL_DFTI 的问题。
如果你在多个源代码文件中,例如在 MKL_FFT MKL_FFT_ABC 中,都写了 INCLUDE 'mkl_dfti.f90',就会产生冲突。

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2023-6-7 08:19:41 | 显示全部楼层
通常来说,1个module,1个源代码文件。

少数情况下,2-3个强烈相关联的module可以放同一个源代码文件。
比如 mkl_dfti.f90 中有2个module,MODULE MKL_DFT_TYPE 和 MODULE MKL_DFTI。但它们几乎不分开使用,所以放一起没什么问题。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 12:05

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表