thed
V2EX  ›  问与答

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

  •  
  •   thed · Nov 1, 2021 · 1845 views
    This topic created in 1676 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
        1
    szhaoliang  
       Nov 1, 2021 via Android
    是在给飞机写程序吗?
    thed
        2
    thed  
    OP
       Nov 1, 2021
    @szhaoliang 不是,一个流体力学的代码,为什么 2021 年了还得和 Fortran 搏斗啊:(
    clague
        3
    clague  
       Nov 2, 2021 via Android
    我寻思不就是括号没匹配吗,估计是你复制过去的时候删了一个括号吧
    luanjab103
        4
    luanjab103  
       Nov 2, 2021 via Android
    sg=1?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1063 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 22:57 · PVG 06:57 · LAX 15:57 · JFK 18:57
    ♥ Do have faith in what you're doing.