Re: [问题] f90档编译问题求助

楼主: PTT0207445 (我是乡民)   2018-04-22 03:59:52
按照你上一篇文章的程式码,fortran 90的语法大概像这样:
program hello
!this program will ask name and say hello
character(25) :: u
WRITE(*,*) 'What is your name?(no more than 25 characters)'
READ(*,*) u
WRITE(*,*) 'Hello! ',trim(u),'. How are you?'
end program hello
1.主程式名称是hello,结束时最好用end program hello,明确表示hello结束了。
档名结尾.f 表示程式是fortran 77格式,.f90表示fortran 90格式。
end program hello是fortran 90的语法,end是fortran 77语法。
如果你的档名和实际程式的语法不同的话,照理说应该会向下相容,
但无法向上相容。结果你的错误讯息看起来是编译器找不到程式的结尾。
2.注解请用!,不要用C。
3.宣告的 :: 意思是,::的左边是变量的型态和属性,::的右边是变量名称。
4.NAME在fortran有别的用途,或许应该避免把变量名称叫做NAME。
5.trim是内建函数,会把传入的字串有空格的尾巴删除。
6.putty只是连线程式,就好像PCMan一样可以用来连批踢踢,你也可以用putty连
上批踢踢,只要把连线通讯协定选为Telnet,主机ptt.cc就可以了。
所以你在putty上用vi写程式,这句话听起来很奇怪。应该说用putty连上某台主机,
或是说透过ssh或telnet连上某台主机,其实可以不用说,因为跟fortran没关系。
7.Fortran是很棒的程式语言,最好从fortran 90开始学,放弃fortran 77。
最后会发现Fortran可能是最快最有效率的,最容易平行化的程式语言。不需要mpi,
不用openmp,Fortran本身语法就能做平行处理,它叫做coarray,语法使用中跨号[*]
※ 引述《takaoclass (高雄级)》之铭言:
: 我是重拾fortran不久的新手,
: 我在putty上用vi编辑器写了一只f90档,
: 用gfortran hello.f90和gfortran -o k.exe hello.f90编译时,
: 都得到以下错误讯息:
: Error: Unexcepted end of file in 'hello.f90'
: 可是我用gfortran指令编译f档却毫无问题,
: 请哪位高手给我指点一下,感谢!
作者: alen84204 (Dana)   2018-04-25 03:08:00
推个
作者: noonee (我和烤肉间只差一撮孜然)   2018-06-02 05:38:00
看目的啦 如果学fortran 是为了用别人的老code 还是学一下77比较好 XD
作者: fragmentwing (片翼碎梦)   2017-04-18 11:11:00
咦?刚刚上网查 coarray要2003版才开始支援?95好像也行 就是没90(虽然我明明记得90/95没差多少啊)

Links booklink

Contact Us: admin [ a t ] ucptt.com