Fortran Coder

查看: 24774|回复: 2
打印 上一主题 下一主题

[求助] fortran Include用法疑问

[复制链接]

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
跳转到指定楼层
楼主
发表于 2015-8-30 13:21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人VS2010 ,Intel Fortran2014。代码文件为.f后缀
我的问题是:
#include ‘para.h’与  include ‘para.h’[没有#号]有什么区别? 这是别人原来的程序,他的程序里都没有‘#’号,但编译会出错,在前边加‘#’号就恢复正常,不知道为什么?

或者看一下下边的代码(两个文件在同一个文件夹下,test_for_preprocessor.f和para.h):
[Fortran] 纯文本查看 复制代码
!****************************test_for_preprocessor.f文件内容***********************************
      program xx
#      include 'pars.h'     !有没有‘#’号很关键,为什么?
      integer x

      x=I_MAX
      
      write(*,*)x,J_MAX,K_MAX
      end

[Fortran] 纯文本查看 复制代码
!****************************para.h文件内容***********************************
#    define I_MAX 41
#    define J_MAX 21
#    define K_MAX 61

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

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

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

沙发
发表于 2015-8-30 14:21:23 | 只看该作者
include 不是标准语法。
加 # 的是 fpp 的预处理指令。
不加 # 的是 ivf 扩展的 include。

两者使用上没有区别。

但编译器执行的顺序是,先前者后后者

所以,如果被包含的 pars.h 里存在其他的预处理指令(如 #define),那么就只能用 #include,而不能用 include
因为执行后者的时候,不能再返回去执行前者了。

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
板凳
 楼主| 发表于 2015-8-30 15:27:22 | 只看该作者
fcode 发表于 2015-8-30 14:21
include 不是标准语法。
加 # 的是 fpp 的预处理指令。
不加 # 的是 ivf 扩展的 include。

非常感谢!一年多没有学习,思维已经跟不上了 ~
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-24 21:42

Powered by Tencent X3.4

© 2013-2024 Tencent

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