我正在编译一个已知与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