You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

代码中MODULE PROCEDURE使用是否合规?Fortran语法问题咨询

Fortran编译错误:USE MOD_BAR无法识别模块的解决方法

问题根源

你的代码中USE MOD_BAR无法被gnufortran识别,核心是模块MOD_BAR的定义语法错误:

  • 错误使用了MODULE PROCEDURE MOD_BAR作为模块开头,MODULE PROCEDURE是用于接口块内声明过程关联的语句,不能用来定义模块本身。
  • 标准Fortran模块必须以MODULE 模块名开头,结尾匹配END MODULE 模块名(或简写END MODULE)。

错误代码片段

MODULE PROCEDURE MOD_BAR
   IMPLICIT NONE
   CONTAINS
   SUBROUTINE P
      PRINT *,'mod_bar'
   END SUBROUTINE P
END MODULE MOD_BAR

修正后的代码

将错误的模块声明语句替换为标准格式即可:

MODULE MOD_BAR
   IMPLICIT NONE
   CONTAINS
   SUBROUTINE P
      PRINT *,'mod_bar'
   END SUBROUTINE P
END MODULE MOD_BAR

额外优化建议

你后续将程序与两个模块拆分为三个独立文件的做法非常合理,这能有效简化大型Fortran项目的代码管理,避免单文件内模块顺序、编译依赖等潜在问题。

内容的提问来源于stack exchange,提问作者bdbaddog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:54:53