Fortran Coder

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

[编译器] 自由格式.h文件中语句长度超过132之后,编译不报错

[复制链接]

6

帖子

2

主题

0

精华

入门

F 币
35 元
贡献
20 点
跳转到指定楼层
楼主
发表于 2020-1-4 20:05:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
!     CHARACTER(len=80) title
  Character *80 title
  Integer iopt(mopt), itrans(mopt), isubopt(mopt), nprior
  Real iapri(mpar)
  Character optinv(mopt)
  Common /options/iopt, itrans, isubopt, optinv
  Integer nparm, q, qin, & !     pointers from parm 2 phy and lay
    npopin
! present dimensions                   
  Integer par2phy(mpar), par2lay(mpar), par3(mpar)
  Integer ndigit(mpar), nbit(mpar)

  Real fmin(mpar), fmax(mpar) ! bounds and possible val              
  Real f(mpar), df(mpar), xstar(mpar), xprior(mpar)
!     CHARACTER(len=40) phystxt(mphys),phystxt2(mphys)
  Character *40 phystxt(mphys), phystxt2(mphys)

  Common /optpar/title, nparm, q, iapri, nprior, par2phy, par2lay, par3, phystxt, phystxt2, ndigit, nbit, qin, npopin, fmin, fmax, f, df, xstar, xprior


最后一行,我的Common的长度超过132个字符了,为什么编译不报错,但是运行之后比如df的值会出现随机值?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1642 元
贡献
709 点

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

沙发
发表于 2020-1-5 15:12:19 | 只看该作者
因为各家编译器并不是非常严格的执行语法规范的要求的。
相比,有的编译器限制会“宽松”一些。
类似的例子还有,Fortran语法允许最大的数组是15维,但有的编译器,比如intel fortran允许31维

变量没有初始化,都是“随机”的,这其实不能叫随机,而叫“不确定”

6

帖子

2

主题

0

精华

入门

F 币
35 元
贡献
20 点
板凳
 楼主| 发表于 2020-1-5 21:17:21 | 只看该作者
fcode 发表于 2020-1-5 15:12
因为各家编译器并不是非常严格的执行语法规范的要求的。
相比,有的编译器限制会“宽松”一些。
类似的例子 ...

好的,明白啦~~多谢帮助!!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-26 14:27

Powered by Tencent X3.4

© 2013-2024 Tencent

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