我正在尝试使用Cray编译器编译Fortran代码。我在代码中有一个标准的预处理ifdef块:
#ifdef DEBUG
! print extra info
#endif
克雷根本不喜欢这样。告诉我
#ifdef DEBUG
^
ftn-100 crayftn: ERROR BALANCE_DATA, File = balance_data.f90, Line = 9, Column = 1
This statement must begin with a label, a keyword, or an identifier.
#endif
^
ftn-100 crayftn: ERROR BALANCE_DATA, File = balance_data.f90, Line = 11, Column = 1
This statement must begin with a label, a keyword, or an identifier.
有谁知道我怎样才能使Cray编译器满意?(此代码BTW使用intel和gcc可以正常编译。)
这些宏不是标准Fortran的一部分。编译器必须以某种方式告诉执行预处理器(cpp
或fpp
什么的习惯,他们做不同)。
对于Cray,您应该-e Z
在文件扩展名中使用或使用大写字母F。对于任何新的编译器,请始终查阅手册。但是,crayftn的手册页非常不完整,它确实提到了该选项,但是只是间接地。必须阅读完整的文档,例如在RussF提供的链接中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句