首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将预处理指令引入Cray编译器的Fortran代码的正确方法

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

Stack Overflow用户
提问于 2019-06-10 22:33:33
回答 1查看 585关注 0票数 1

我试图用Cray编译器编译Fortran代码。我在代码中有一个标准的预处理ifdef块:

代码语言:javascript
复制
#ifdef DEBUG
!  print extra info
#endif

克雷一点也不喜欢这样。它告诉我

代码语言:javascript
复制
#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与英特尔和gcc一起编译得很好。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-11 05:34:14

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

对于Cray,应该使用-e Z或在文件扩展名中使用大写字母F。对于任何新编译器,请始终查阅手册。然而,crayftn的手册非常不完整,它确实提到了选项,但只是间接地提到了选项。我们必须进入完整的文档,例如在由链接提供的RussF中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56534302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档