命令c#define在Fortran中意味着什么?

时间:2014-05-06 19:44:14

标签: fortran preprocessor-directive

我是FORTRAN的新手,试图理解一些代码:

c#define _USE_MPI_

#ifndef _NX_

这是fortran吗?

1 个答案:

答案 0 :(得分:2)

这些是pre-processor标志,不是有效的Fortran。您需要启用预处理器,例如cppgfortran)或fppifort)。

使用#define,您可以定义变量或a macro。使用#ifdef and #ifndef,您可以对这些变量执行检查。

我假设您的代码中存在这些指令,以便在使用和不使用MPI编译时启用不同的例程或语句 - 与编译时的if语句不同。这通常是为了能够以纯串行模式运行代码。

预处理器指令之前的c可能会将其注释掉(这将是FORTRAN语法),以防止它被预处理器解释。