Yot*_*tam 0 compiler-construction fortran casting intel-fortran
我有一个FORTRAN代码,我需要在服务器上运行.我注意到两台机器的结果有点不同.调查一下,我了解到差异从一个返回real
值的函数变为一个double precision
变量.在locale机器上我使用旧编译器(gnu f95 4.1.2),在远程机器上我使用ifort.
您应该期望不同编译器编译的同一程序之间存在细微差别.有限精度算术不遵守我们对实数的预期规则.因此,如果编译器改变操作顺序,结果可能略有不同.
也就是说,gfortran 4.1已经过时了.我不会使用早于4.3的gfortran版本.我强烈建议升级.