Re: [問題] f90檔編譯問題求助

看板Fortran作者 (我是鄉民)時間6年前 (2018/04/22 03:59), 編輯推噓2(204)
留言6則, 3人參與, 6年前最新討論串2/2 (看更多)
按照你上一篇文章的程式碼,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檔卻毫無問題, : 請哪位高手給我指點一下,感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 129.12.199.200 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1524340795.A.2A9.html

04/25 03:08, 6年前 , 1F
推個
04/25 03:08, 1F

06/02 05:38, 6年前 , 2F
看目的啦 如果學fortran 是為了用別人的老code 還是學一下
06/02 05:38, 2F

06/02 05:38, 6年前 , 3F
77比較好 XD
06/02 05:38, 3F

04/18 11:11, 6年前 , 4F
咦?剛剛上網查 coarray要2003版才開始支援?
04/18 11:11, 4F

04/18 11:12, 6年前 , 5F
95好像也行 就是沒90(雖然我明明記得90/95沒差多少
04/18 11:12, 5F

04/18 11:12, 6年前 , 6F
啊)
04/18 11:12, 6F
文章代碼(AID): #1QsvWxAf (Fortran)
討論串 (同標題文章)
文章代碼(AID): #1QsvWxAf (Fortran)