微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Fortran新手:如何在Geany中编译/构建多个Fortran文件

如何解决Fortran新手:如何在Geany中编译/构建多个Fortran文件

我是Fortran的新手,并且正在使用Geany IDE。我正在查看一些旧的Fortran 90,目的是将其转换为MATLAB。我正在简化问题,这可能是一个非常简单的新手Fortran问题,但我似乎在网上找不到任何解释。

比方说,我有一个名为“ simple_program.f”的主程序。

  program simple_program

  integer b  
  logical check
  
  call get_a(a)
  
  b = 2
  
  check = a < b
  
  write(*,*) check
  
  
  end

此主程序从另一个名为“ a_in.f”的程序文件调用一个名为“ get_a”的子程序,如下所示:

  subroutine get_a(a)

    integer a
  
    a = 1
  
  return
  end

当我尝试在Geany中编译simple_program.f时,在生成“未定义对'get_a'的引用”时出现错误。如果我尝试在Geany中编译a_in.f,则会出现错误“未定义对'WinMain'的引用”。

三个问题:

  1. 如何链接“ simple_program.f”和“ a_in.f”以告诉Geany一起编译它们?从网上看,我似乎必须使用一个makefile,但是(我认为)Geany文档在解释“ Build”菜单的工作方式方面表现得很差。

  2. Fortran的文件只能包含子例程吗?如果是这样,那如何运作?文件a_in.f没有“主”程序,它仅包含一个子例程。但是自从有了可执行文件以来,我正在查看的脚本显然已经编译过了。

  3. 如果它们是从其他文件的子例程输出的,则不必在主程序文件的顶部显式定义所有变量吗?主程序(simple_program.f)没有定义变量“ a”,我感到惊讶,因为我认为Fortran必须定义所有变量。

感谢您为解决这些问题提供的帮助。请假设我知道的很少。以及所有有用的初学者资源也将受到赞赏。

欢呼

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。