Fortran Coder

查看: 11732|回复: 8
打印 上一主题 下一主题

[求助] .f文件中出现C语句是什么意思

[复制链接]

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
跳转到指定楼层
楼主
发表于 2015-8-24 00:10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在学习一个大型计算程序,该程序是fortran 和C共同实现的,程序比较旧。主程序中有一段是这样的(见下面代码),我想问的是:加粗的部分应该是C语句,为什么会出现在.f文件中,编译过程中起什么作用?本人使用的编译器为VS2010,INTEL FORTRAN 14。
[Fortran] 纯文本查看 复制代码
 ……
implicit none
      include 'Include/pars.h'
      include 'Include/parschim.h'
      include 'Include/chimer.h'
      include 'Include/indx.h'
      include 'Include/inxblk.h'
      include 'Include/dilution.h'
      include 'Include/ntt.h'
      include 'Include/parallel_f.h'
      include 'Include/rad1.h'
      include 'Include/rad4.h'
      include 'Include/vary.h'
      include 'Include/cons.h'
#ifdef PARALLEL
      include 'Include/filenm.h'
      include 'Include/spray1.h'

      integer argc
      character*80 argv(0:MAXARGS)
#endif        /* PARALLEL */
      include 'Include/ignite1.h'
      include 'Include/control.h'

      integer iexit, nn
      real*8  time

      logical abort
c

c
#ifdef PARALLEL
……






分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

QQ
沙发
发表于 2015-8-24 07:56:16 来自移动端 | 只看该作者
这是预处理语句。不是c语句。
与c语言的预处理用法一样。实际上,很多编译器也使用c语言编译器的预处理器:cpp或fpp

你可以在论坛右上角搜索栏输入“预处理”,查看其他几个相关问题的帖子。

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
板凳
 楼主| 发表于 2015-8-24 19:13:22 | 只看该作者
vvt 发表于 2015-8-24 07:56
这是预处理语句。不是c语句。
与c语言的预处理用法一样。实际上,很多编译器也使用c语言编译器的预处理器: ...

回答地太及时了,我再问一下:预处理在程序中也会进行编译吗?

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2015-8-24 19:20:35 | 只看该作者
预处理发生在编译以前,即:预处理的结果参与编译。

比如
#ifdef  aaa
bbb
#else
ccc
#endif

如果定义了 aaa,则 bbb 参与编译,ccc不参与。
否则,bbb 不参与编译,ccc参与。

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
5#
 楼主| 发表于 2015-8-24 19:30:37 | 只看该作者
fcode 发表于 2015-8-24 19:20
预处理发生在编译以前,即:预处理的结果参与编译。

比如

那直接使用fortran代码也可以实现,为什么要使用预处理啊~

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

6#
发表于 2015-8-24 20:49:42 | 只看该作者
不一样。

预处理发生在编译前。编译时决定哪条分支参与编译。(其他分支不参与编译)

if 语句是执行语句,在执行时决定走哪条分支。(所有分支都参与编译)

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
7#
 楼主| 发表于 2015-8-24 21:18:25 | 只看该作者
fcode 发表于 2015-8-24 20:49
不一样。

预处理发生在编译前。编译时决定哪条分支参与编译。(其他分支不参与编译)

厉害,你的头像还有签名都很有意思,可以借用一下推广本站吗

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

8#
发表于 2015-8-24 21:22:33 | 只看该作者
当然可以,随便借用。

签名中的是日本歌手,仓木麻衣。头像是手绘版~

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
9#
 楼主| 发表于 2015-8-24 23:14:53 | 只看该作者
fcode 发表于 2015-8-24 21:22
当然可以,随便借用。

签名中的是日本歌手,仓木麻衣。头像是手绘版~

再次评价:论坛真心做得不错,很纯粹的学术网站,没有无意义的灌水,人不多,但有求必应,这一点比小木虫好。希望网站越做越好!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-23 18:46

Powered by Tencent X3.4

© 2013-2024 Tencent

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