compiler-construction - Fortran 2003 源文件的正确后缀 - 英特尔 Fortran 编译器

标签 compiler-construction fortran intel-fortran

我写了一小段代码,试图遵守 Fortran 2003 标准。代码是available on github .

这是我的生成文件:

FC = gfortran
FLGS = -g -pg -std=f2003 -I. -fbounds-check
DEPS = camx.prm
OBJ = unit-test-hadvppm.o hadvppm.o

#linker macro
%.o: %.f03 $(DEPS)
        $(FC) -c -o $@ $< $(FLGS)

#build targets

gnu-amd64-linux: $(OBJ)
        $(FC) -o $@ $^ $(FLGS)

clean: gnu-amd64-linux
        rm *.o

使用上述 makefile 和 编译代码没有问题。 gfortran .

但是,如果我尝试使用 iFort 编译它,只需使用
ifort -o ifort-amd64-linux unit-test-hadvppm.f03 hadvppm.f03

它不起作用,请参阅下面的输出。我想这与 .f03 免费文件格式有关。 iFort 中是否有类似于 gfortran 的 -std=f2003 标志的标志?我试图在 iFort 文档中找到这个,我应该更仔细地看吗?

enter image description here

最佳答案

标准中没有任何内容指定文件的后缀。英特尔一直声明,他们对待 *.f90作为免费源格式的后缀,与标准版本无关。它只是一个不基于任何标准文件的约定。

也许是 f90 suffix 有点不幸,看起来就像 Fortran 90,但您应该毫不犹豫地将它用于每个自由格式的源文件。

我个人也不喜欢.f95的做法。 , .f03 , .f08文件。我是否应该仅仅因为我从更新的标准中调用一些内在函数而重命名源文件?

关于compiler-construction - Fortran 2003 源文件的正确后缀 - 英特尔 Fortran 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20269076/

相关文章:

c++ - VS2005、VS2008下C++生成的EXE速度; VS2010编译器

c# - 循环中方法调用的开销是多少?

c - 从哪里开始修改开源软件?

python - 如何通过 f2py 将 pgfortran(具有 OpenAcc direvative )与 python 连接

fortran - 英特尔 Fortran 中结构内的数据对齐

c# - LINQ 的问题 - 有必要添加对不需要的库的引用

language-agnostic - 为什么允许未定义的行为(而不是不编译/崩溃)?

Fortran - 来自旧 (1972) 代码的两分支 IF 语句

arrays - 在派生类型中,数组的求和和分配速度较慢

visual-studio-2010 - Fortran 90 模块的神秘本质