看板 Fortran 關於我們 聯絡資訊
最近寫了一個副程式,用來把 character string 中第一個 word 剪出來。 起初把它叫做"cut1word(instr,outstr)",編譯的時候編成 .o 檔再加進 .a 檔。 主程式連結以後一直出問題,找半天不知道為何,所以用 cut1word.f 直接編譯。 怪怪,竟然成功了。 再試一次把 .a 和 .o 全部移除,重新建立 .o 和 .a 檔--失敗。 再用一次用 cut1word.f 直接編譯--成功。 後來想想這樣直接用 .f 編譯實在沒效率,胡亂嘗試的結果,最後是: 把 cut1word(instr,outstr) 和 cut1word.f 改叫做 cutword(instr,outstr) 和 cutword.f (少了個"1") 這樣就可以??!!我一定是遇到鬼了。 有人有類似的經驗嗎? p.s. 上次有這種經驗是發現 x/1 和 x/1.0 結果不一樣的時候。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.76.11
jsb:附帶一題,我用的是 gfortran。 04/14 16:54
jsb:而且副程式內有隱含宣告 character*(*) instr,outstr 04/14 16:57
philodi:好像不能用數字??!! 1和1.0當然不一樣,整數或浮點 05/08 17:11