Fortran Coder

标题: *.f90和*.f [打印本页]

作者: schuhi    时间: 2015-9-18 14:40
标题: *.f90和*.f
问个问题,fortran中的文件,2.f和2.f90有啥本质区别吗。我有个非常简单的程序,就是
write(*,*)"hello,world"
pause
end
放在2.f90里面就可以编译成功,而在2.f里面就不行。
谢谢大侠。。。


作者: Villain    时间: 2015-9-18 16:34

区别就是编译器默认*.f或者*.for文件是固定格式,而默认*.f90是自由格式,而编译这两种格式所用的方法是不同的。
具体一点就是:
固定格式就是代码采用约定的书写方式来写,代码或者符号的位置在特定地方有特定含义。一般分为标号区,注释行,续行区,语句区,注释区。代码的位置必须正确。否则编译失败。
而自由格式是Fortran90以后的语法。简单来说代码或者符号的位置不再重要,废除了固定格式的一些书写规定。
如果你把
write(*,*)"hello,world"
pause
这两行之前输入六个空格再把代码复制到两个文件中编译,你和你的小伙伴会因为这次两个文件竟然都能成功编译而惊呆的。


作者: fcode    时间: 2015-9-18 18:03
关于这两种格式,请参考彭国伦先生《Fortran95程序设计》,第三章第3.2节
作者: schuhi    时间: 2015-9-18 20:55
Villain 发表于 2015-9-18 16:34
区别就是编译器默认*.f或者*.for文件是固定格式,而默认*.f90是自由格式,而编译这两种格式所用的方法是不 ...

非常感谢你的回答。
作者: schuhi    时间: 2015-9-18 20:55
fcode 发表于 2015-9-18 18:03
关于这两种格式,请参考彭国伦先生《Fortran95程序设计》,第三章第3.2节

谢谢你的回答。




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