我不喜欢需要多个编译器标志来编译程序。我通常认为这是糟糕的编程习惯。 我有一些使用 POINTER 语句的旧fortran代码,当使用gfortran编译这些文件时,它会响应错误
Error: Cray pointer declaration at (1) requires -fcray-pointer flag
这是一个导致它的原因的样本
COMPLEX*16 matrix(1)
POINTER (PM, mymatrix)
COMMON /M_SHARED/ PM
如果我使用intel编译器那么只做ifort -O3 myprogram.f
没有问题,但我不想依赖于需要intel编译器。我宁愿能够使用免费的gfortran。
我想知道我的例子落后多少,以及如何正确编写。或者我应该使用-fcray-pointer
标志?