Fortran Coder

标题: Ifort和GFortran编译差异 [打印本页]

作者: 飞翔的企鹅    时间: 2024-8-2 09:12
标题: Ifort和GFortran编译差异
大佬们好,目前我这边有一个使用CMakeLists.txt控制的ifort作为编译器的较大工程项目,其中同时使用了mpi和omp进行并行加速。但是按照工作需要,我正在尝试使用gfortran去编译这些代码。ifort版本用的2021,gfortran版本是10.4.0。对代码做的修改是将 include mpif.h、include omp_lib.h修改成USE MPI和USE OMP,这样修改后使用ifort再次编译后计算也是正常的。
在gfortran编译通过后,程序计算总会出一些奇怪的问题,包括数组大小定义、分配数组时出错。我想请教一下大佬们在用gfortran编译ifort程序时是不是有一些很重要的其他修改操作,导致出现了这样的问题。
代码本身内网保密,无法给大家展示,实在不好意思。请大家针对该问题可以给我一些修改的思路和意见。

作者: li913    时间: 2024-8-3 10:20
这种只能调试,没办法猜测具体问题。
作者: fcode    时间: 2024-8-4 16:03
语法做了明确规定的部分,两个编译器是严格一致的。
语法未做明确规定的部分,两个编译器可能有差异。
Fortran是一门古老的编程语言,上古时候的很多代码可能使用到了非语法规范的内容。
而现代一些的代码,则通常更严谨的使用规范的特性。





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2