我想要在使用不支持的Fortran编译器时中止编译。Nagfor预处理器定义了宏NAGFOR
, 因此我编写了以下测试程序:
program foo
implicit none
#ifdef NAGFOR
PRINT *, "Hello from nagfor"
#else
#error "Compiler not supported"
#endif
end program foo
当我使用gfortran或ifort进行编译时,会出现预期的错误信息。
$ gfortran foo.F90
foo.F90:8:2: error: #error "Compiler not supported"
$ ifort foo.F90
foo.F90(8): #error: "Compiler not supported"
但是nagfor会给出不同的错误。
$ nagfor foo.F90
NAG Fortran Compiler Release 5.3.1(907)
"foo.F90", line 8: error: unknown fpp directive.
我在nagfor的fpp文档中没有找到如何创建错误的提及,所以也许#error
不存在。那么,是否有替代方法可以达到相同的效果?
fpp
似乎不知道#error
指令。请查阅手册,了解其他可能性。 - Vladimir F Героям слава