模块使用语句中的Fortran内在关键字

nor*_*rio 6 fortran fortran2003 fortran-iso-c-binding

intrinsic关键字添加到use模块的语句中意味着什么,如下例所示?

  use, intrinsic :: iso_c_binding
Run Code Online (Sandbox Code Playgroud)

(来自 7.1 Fortran接口概述,FFTW 3.3.6-pl1)

是否指定应该使用随编译器提供的该名称的模块,即使用户编写了另一个同名模块?

fra*_*lus 7

随着use, intrinsic :: ...内在模块确实选择.

值得解决的问题可能有些微妙.关于"应该使用随编译器提供的那个名称的模块",这个"应该"并不表示偏好而是强烈的要求.也就是说,如果没有这样的内在模块,那么编译就不会成功.这不应该是一个问题,iso_c_binding但编译器通常提供自己的非标准内在模块.

没有办法说"如果它可用,则使用内在模块,但如果没有,则使用用户提供的模块".