在编译上古代码时候发生的问题,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? |