如何解决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'的引用”。
三个问题:
-
如何链接“ simple_program.f”和“ a_in.f”以告诉Geany一起编译它们?从网上看,我似乎必须使用一个makefile,但是(我认为)Geany文档在解释“ Build”菜单的工作方式方面表现得很差。
-
Fortran的文件只能包含子例程吗?如果是这样,那如何运作?文件a_in.f没有“主”程序,它仅包含一个子例程。但是自从有了可执行文件以来,我正在查看的脚本显然已经编译过了。
-
如果它们是从其他文件的子例程输出的,则不必在主程序文件的顶部显式定义所有变量吗?主程序(simple_program.f)没有定义变量“ a”,我感到惊讶,因为我认为Fortran必须定义所有变量。
感谢您为解决这些问题提供的帮助。请假设我知道的很少。以及所有有用的初学者资源也将受到赞赏。
欢呼
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。