我有一个Fortran模块文件(filename.F),其中包含一条语句:
#include "module_io_domain_defs.inc"
我不太理解这个问题。为什么要用 "#" 符号?难道不应该只是 "" 吗?
include "module_io_domain_defs.inc"
我知道在编译过程中,*.F文件会变成*.f90文件。如何理解上述语句以及编译过程是如何工作的?
我有一个Fortran模块文件(filename.F),其中包含一条语句:
#include "module_io_domain_defs.inc"
include "module_io_domain_defs.inc"
#
表示 C 预处理指令。因此,#include
不是由 Fortran 编译器处理,而是由 C 预处理器 (cpp
, c-preprocessor) 处理。使用大写的 .F
而不是小写的 f
通常告诉编译器在编译之前运行 cpp
。#include
包含的文件将再次被 cpp
处理,而仅通过 include
包含的文件在编译之前不会被任何东西处理。F
,也可以通过传递标志(如 -cpp
或 -fpp
)来请求预处理器。