fortran - f77 文件通过 ifort 编译但在使用 gfortran 时失败
问题描述
我正在尝试使用 gfortran编译 f77 文件( dfsynthe.for )。在此之前,我尝试使用 ifort by 对其进行编译ifort -double-size 64 -save -o dfsynthe.exe dfsynthe.for
,并且成功了。但是,当我尝试使用 gfortran 时,gfortran -std=legacy -fdec -w -o dfsynthe.exe dfsynthe.for
我遇到了一堆错误。我假设使用 gfortran 和 ifort 时语法存在一些差异,但我不知道它们到底是什么。
我的 ifort 版本是ifort (IFORT) 19.0.3.199 20190206
,gfortran 版本是GNU Fortran (Ubuntu 8.3.0-6ubuntu1~18.10.1) 8.3.0
.
我从 gfortran 得到的错误主要有五种:
dfsynthe.for:135:51:
OPEN(UNIT=15,STATUS='NEW',FORM='UNFORMATTED',
1
Error: Syntax error in OPEN statement at (1)
dfsynthe.for:434:20:
CLOSE(UNIT=12,DISP='DELETE')
1
Error: Syntax error in CLOSE statement at (1)
dfsynthe.for:475:11:
2 3046.604,2238.320,1713.711,1354.044,1096.776,
1
Error: Syntax error in DATA statement at (1)
dfsynthe.for:3225:29:
969 IF(T.GE.5000.)GO TO 979
1
Error: Label 979 referenced at (1) is never defined
dfsynthe.for:2327:48:
EQUIVALENCE (D(21),D5(1)),(D(26),D6(1)),(D(31),D7(1))
1
Error: Rank mismatch in array reference at (1) (1/2)
这是dfsynthe.for和错误日志文件error.log的链接。
解决方案
您在源文件中有一些选项卡。用空格替换它们,你会走得更远。
推荐阅读
- python - rpy2在python中加载R-dataframe会产生错误的时间戳
- r - 处理使用 Haven 导入的标记变量的最佳方法是什么?
- ios - 是否可以在 Flutter 中更改 CupertinoTabBar 的高度?
- c# - 在 TaskScheduler(STA 线程)上一次运行一个线程
- android - Android:Alert 和 AlertDialog 上的主题更改取决于 Android 版本
- ios - 速度接近 0 时,Swift iOS 13.3 糟糕的 GPS
- entity-framework - EF Core 实体刷新
- jenkins - 如何从 Jenkins 共享库中读取工作区文件?
- regex - 正则表达式匹配与另一个字符串在同一组中出现的字符串
- office365api - Office 365 api 草案标志