从 Fortran 代码中清除预处理器条件

Clean preprocessor conditionals from fortran code

我使用充满预处理器 (#if) 条件的很长的 Fortran 代码,有没有什么方法可以编译它并只获得满足条件的代码部分的源文件?

如 chw21 所述,您可以直接 运行 预处理器。 cpp(带有正确的标志)或 fpp 命令,具体取决于您的编译器。

因为您可能不确定正确的标志,您也可以让编译器为您做这件事。在 GCC (gfortran) 中,它是 -E 标志,它将强制编译器在预处理后停止。您必须将标准输出重定向到文件,因为预处理代码返回到标准输出。