Cet*_*ert 4 flags compilation intel gfortran
我正在尝试将程序从gfortran移植到ifort(英特尔Fortran编译器11).我坚持使用只能用gfortran编译的两个文件:
gfortran -x f77 -c daedrid.ff
gfortran -x f77-cpp-input -c daedris.ff
Run Code Online (Sandbox Code Playgroud)
当我尝试使用这些文件运行intel fortran编译器时,我得到:
ifort -fpp -c daedrid.ff
ifort: warning #10147: no action performed for specified file(s)
ifort -fpp -c daedris.ff
ifort: warning #10147: no action performed for specified file(s)
Run Code Online (Sandbox Code Playgroud)
并且没有创建任何目标文件.
现在,我该如何解决这个问题o_O?
编辑:将文件扩展名从ff重命名为fpp
cp daedrid.ff daedrid.fpp
cp daedrid.ff daedrid.fpp
Run Code Online (Sandbox Code Playgroud)
帮助:
ifort -fpp -c daedrid.fpp
daedrid.fpp(1483): (col. 9) remark: LOOP WAS VECTORIZED.
daedrid.fpp(1490): (col. 11) remark: LOOP WAS VECTORIZED.
daedrid.fpp(1499): (col. 13) remark: LOOP WAS VECTORIZED.
ifort -fpp -c daedris.fpp
daedris.fpp(1626): (col. 9) remark: LOOP WAS VECTORIZED.
Run Code Online (Sandbox Code Playgroud)
http://www.rcac.purdue.edu/userinfo/resources/black/userguide.cfm#compile_fortran_cpp
更新:有没有办法让intel fortran编译器工作而不必重命名文件?
您正在寻找的选项是-Tf和-fpp(以及可选-fixed或-free.来自ifort -help相关的行是:
-Tf<file> compile file as Fortran source
-fpp[n] run Fortran preprocessor on source files prior to compilation
n=0 disable running the preprocessor, equivalent to no fpp
n=1,2,3 run preprocessor
-[no]fixed,-FI specifies source files are in fixed format
-[no]free, -FR specifies source files are in free format
Run Code Online (Sandbox Code Playgroud)
总而言之,如果您有需要预处理的固定格式源,您可以使用:
ifort -fpp -fixed -Tfa.ff
Run Code Online (Sandbox Code Playgroud)
编译文件a.ff.