Fortran Coder

标题: 自由格式.h文件中语句长度超过132之后,编译不报错 [打印本页]

作者: zxbballack    时间: 2020-1-4 20:05
标题: 自由格式.h文件中语句长度超过132之后,编译不报错
[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的值会出现随机值?

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

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

作者: zxbballack    时间: 2020-1-5 21:17
fcode 发表于 2020-1-5 15:12
因为各家编译器并不是非常严格的执行语法规范的要求的。
相比,有的编译器限制会“宽松”一些。
类似的例子 ...

好的,明白啦~~多谢帮助!!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2