我正在編譯一個已知與ifort
使用gfortran
編譯的程序。gfortran寫和格式不需要符合intel編譯器
main_file.f:205.32:
WRITE (11,1325) ((IFILE,FILENAME(IFILE)),IFILE=1,IFILES)
1
Error: Expected PARAMETER symbol in complex constant at (1)
make: *** [main_file.o] Error 1
更改此行(注意去除 '(' 和 ')')
WRITE (11,1480) (IFILE,FILENAME(IFILE),IFILE=1,IFILES)
:但是,編譯器就行了
WRITE (11,1325) ((IFILE,FILENAME(IFILE)),IFILE=1,IFILES)
與編譯錯誤失敗匹配後續行
1480 FORMAT (1X,I1,' ',A40)
解決了這個問題,但我想知道是否有人可能知道爲什麼英特爾編譯器沒有捕獲到這個錯誤。在這種情況下,它似乎是gfortran
這是給予正確的行爲。我的編譯標誌是:
gfortran -fno-automatic -mcmodel=medium -O2 -ffast-math main_file.o -o main_file
你好弗拉基米爾!感謝您快速發表的評論。是的,這是我第一次詳細地介紹Fortran,在我看來,對於一種成熟的語言來說,有一種奇怪的怪癖。 – dmon 2013-04-29 15:14:13