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
在Cray编译器的Fortran代码中引入预处理指令的正确方法_Fortran_Preprocessor_Cray - Fatal编程技术网

在Cray编译器的Fortran代码中引入预处理指令的正确方法

在Cray编译器的Fortran代码中引入预处理指令的正确方法,fortran,preprocessor,cray,Fortran,Preprocessor,Cray,我试图用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 lab

我试图用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.

有人知道我怎样才能让克雷编译器开心吗?(顺便说一句,这段代码可以用intel和gcc编译。)

这些宏不是标准Fortran的一部分。必须以某种方式告知编译器执行预处理器(
cpp
fpp
或自定义的东西,它们确实不同)

对于Cray,您应该在文件扩展名中使用
-ez
或大写F。对于任何新的编译器,请务必查阅手册。然而,crayftn的手册页非常不完整,它确实提到了该选项,但只是间接提到。必须查阅完整的文档,例如RussF提供的文档

这里有一个链接。