thed
V2EX  ›  问与答

还有人用 Fortran 吗,编译问题求教

  •  
  •   thed · Nov 1, 2021 · 2201 views
    This topic created in 1833 days ago, the information mentioned may be changed or developed.

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

    在网上搜索之后基本都是说在行末尾加一个 &,但加了之后编译还是不通过:(

    还请不吝赐教

    4 replies  •  2021-11-02 06:16:41 +08:00
    szhaoliang
    szhaoliang
    Nov 1, 2021 via Android
    1
    是在给飞机写程序吗?
    thed
    thed
    OP
    Nov 1, 2021
    2
    @szhaoliang 不是,一个流体力学的代码,为什么 2021 年了还得和 Fortran 搏斗啊:(
    clague
    clague
    Nov 2, 2021 via Android
    3
    我寻思不就是括号没匹配吗,估计是你复制过去的时候删了一个括号吧
    luanjab103
    luanjab103
    Nov 2, 2021 via Android
    4
    sg=1?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3513 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 03:55 · PVG 11:55 · LAX 19:55 · JFK 22:55
    ♥ Do have faith in what you're doing.