在编译上古代码时候发生的问题,Windows 下用 ifc 编译没问题, 但是在 Ubuntu 18.04 下用 gFortran 7.5 、8.5 、9.4 尝试编译后均报了同一个错误
a.f90:196:48:
((ZZ(SG_POSTION(sg), mm),ZZ(SG_POSTION(sg)+1, mm), QQ(SG_POSTION(sg), mm)), sg=1,&
1
Error: Expected a right parenthesis in expression at (1)
从 195 行开始的代码如下:
WRITE(22, "(F7.2,7X,60(F7.3,3X,F7.3,3X,F7.3,7X),F7.3,3X,F7.3,7X)") (k-1)*DeltaT/7200.0, &
((ZZ(SG_POSTION(sg), mm),ZZ(SG_POSTION(sg)+1, mm), QQ(SG_POSTION(sg), mm)), sg=1,&
Controlgate_NUM), ZZ(c_element+1, mm), QQ(c_element+1, mm)
在网上搜索之后基本都是说在行末尾加一个 &
,但加了之后编译还是不通过:(
还请不吝赐教
1
szhaoliang 2021-11-01 17:52:13 +08:00 via Android
是在给飞机写程序吗?
|
2
thed OP @szhaoliang 不是,一个流体力学的代码,为什么 2021 年了还得和 Fortran 搏斗啊:(
|
3
clague 2021-11-02 00:21:49 +08:00 via Android
我寻思不就是括号没匹配吗,估计是你复制过去的时候删了一个括号吧
|
4
luanjab103 2021-11-02 06:16:41 +08:00 via Android
sg=1?
|