如何使用 nagfor 列出预定义的预处理器变量
How to list predefined preprocessor variables with nagfor
我想获取使用 nagfor Fortran 编译器时预定义的预处理器变量的列表。 gfortran 的等价物是
gfortran -E -dM foo.F90
但是
nagfor -F -Wp,-dM foo.F90
我明白了
NAG Fortran Compiler Release 5.3(854)
fpp: warning: bad option: -dM , ignored.
我查看了 nagfor documentation and the fpp documentation 但找不到答案。
我要找的是一些变量来确定文件是用 nagfor 编译的,所以相当于 gfortran __GFORTRAN__
、ifort __INTEL_COMPILER
和 pgf90 __PGI
.
我发现隐藏在 fpp 的文档中(4.5.4 Macro definition 6.2 版,5.3 版问题链接文档的第 5.4 节)
The macro NAGFOR is defined by default.
果然如此
#ifdef NAGFOR
print '("nagfor says hello")'
#endif
end
通过预处理器时具有所需的结果。在我的例子中,宏取值 1
,但我不知道它的一致性如何。
As Themos Tsikas comments, there are also the macros __NAG_COMPILER_RELEASE
和 __NAG_COMPILER_BUILD
确实采用明确定义的值。
我想获取使用 nagfor Fortran 编译器时预定义的预处理器变量的列表。 gfortran 的等价物是
gfortran -E -dM foo.F90
但是
nagfor -F -Wp,-dM foo.F90
我明白了
NAG Fortran Compiler Release 5.3(854)
fpp: warning: bad option: -dM , ignored.
我查看了 nagfor documentation and the fpp documentation 但找不到答案。
我要找的是一些变量来确定文件是用 nagfor 编译的,所以相当于 gfortran __GFORTRAN__
、ifort __INTEL_COMPILER
和 pgf90 __PGI
.
我发现隐藏在 fpp 的文档中(4.5.4 Macro definition 6.2 版,5.3 版问题链接文档的第 5.4 节)
The macro NAGFOR is defined by default.
果然如此
#ifdef NAGFOR
print '("nagfor says hello")'
#endif
end
通过预处理器时具有所需的结果。在我的例子中,宏取值 1
,但我不知道它的一致性如何。
As Themos Tsikas comments, there are also the macros __NAG_COMPILER_RELEASE
和 __NAG_COMPILER_BUILD
确实采用明确定义的值。