Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation 清除fortran代码中的预处理器条件_Compilation_Fortran_Preprocessor Directive - Fatal编程技术网

Compilation 清除fortran代码中的预处理器条件

Compilation 清除fortran代码中的预处理器条件,compilation,fortran,preprocessor-directive,Compilation,Fortran,Preprocessor Directive,我使用的是一个很长的Fortran代码,其中充满了预处理器(#if)条件,有没有办法编译它并只使用满足条件的部分代码获取源文件 如chw21所述,您可以直接运行预处理器。cpp(带有正确的标志)或fpp命令,具体取决于编译器 因为您可能不确定正确的标志,所以也可以让编译器为您这样做。在GCC(gfortran)中,是-E标志,它将强制编译器在预处理后停止。您必须将标准输出重定向到文件,因为预处理的代码将返回到标准输出。如chw21所述,您可以直接运行预处理器。cpp(带有正确的标志)或fpp命令

我使用的是一个很长的Fortran代码,其中充满了预处理器(#if)条件,有没有办法编译它并只使用满足条件的部分代码获取源文件

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


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

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


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

为什么不在其上运行预处理器?为什么要这样做?为什么不在其上运行预处理器?为什么要这样做?谢谢你们,Vladimir和chw21
fpp-P src.F src_clean.F
完成了这项工作。如果您对@VladimirF的答案感到满意,请接受它。谢谢你们,Vladimir和chw21
fpp-psrc.F src_clean.F
完成了任务。如果您对@VladimirF的答案感到满意,请接受它。