Fortran Coder

楼主: wengxi
打印 上一主题 下一主题

[流程控制] 求帮助,if语句的编译问题与条件编译

[复制链接]

29

帖子

8

主题

0

精华

熟手

只想好好学习早点毕业

F 币
152 元
贡献
90 点
QQ
6#
 楼主| 发表于 2015-5-14 23:06:17 | 只看该作者
请问一下,我觉得我没有做什么,怎么变成这个样子,题目也改变了,然后还采纳了。

715

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
619 元
贡献
317 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

5#
发表于 2015-5-14 13:08:55 | 只看该作者
条件编译。这个具体要看你使用什么编译器。比如 Intel fortran 的话。
[Fortran] 纯文本查看 复制代码
!DIR$ DEFINE testflag
!DIR$ IF DEFINED (testflag)
   write (*,*) 'Compiling first line'
!DIR$ ELSE
   write (*,*) 'Compiling second line'
!DIR$ ENDIF!DIR$ UNDEFINE testflag


29

帖子

8

主题

0

精华

熟手

只想好好学习早点毕业

F 币
152 元
贡献
90 点
QQ
地板
 楼主| 发表于 2015-5-14 13:06:07 | 只看该作者
vvt 发表于 2015-5-14 12:09
判断语句的路线要到执行时才能确定。编译时无法确定。所以都会编译。

谢谢,我又追问了一下。

29

帖子

8

主题

0

精华

熟手

只想好好学习早点毕业

F 币
152 元
贡献
90 点
QQ
板凳
 楼主| 发表于 2015-5-14 13:05:26 | 只看该作者
也就是说fortran语言在编译时会对所有的语句(包括将来不执行的)进行类型和脚标的编译,现在如果我的程序要避免这个,有什么办法可以让他不对其编译。具体地说,我设置了多个开关,而在我这套开关的情况下会和别的开关不执行的语句想矛盾,可以解决的办法是什么?在不删去、注释的办法下,可以让他不编译或者直接跳过编译运行吗?

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2015-5-14 12:09:12 来自移动端 | 只看该作者
判断语句的路线要到执行时才能确定。编译时无法确定。所以都会编译。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-21 22:33

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表