我刚刚阅读了关于在Fortran中使用模块的正确方法的非常好的问题/答案here。通过在模块中编写子程序,除了澄清代码之外,还可以使它们显式化。
据我所知,模块必须放在一个文件中,例如“mod_exemple.f90”。 我编写的程序通常很长,许多子程序确实可以按目的排序,因此可以放在模块中。问题是:那会有非常长的模块文件,有数百行。
您可以将模块拆分为多个文件吗?是否建议?为什么?你有其他拆分的建议吗?
答案 0 :(得分:8)
我建议将模块拆分为多个文件,这不是一个标准的练习,我会发现阅读/理解比所有相关例程都在同一个文件中更难。如果你的模块太大,我强烈建议重新思考模块的逻辑,看看你是否不能将公共代码和实用程序例程分解到自己的模块中。而不是让您的相关代码分布在多个文件中,无论需要多少行,都可以使用记录良好,格式良好的单个文件模块源作为最佳解决方案。
答案 1 :(得分:1)
是的,您可以,但必须使用include
或cpp的#include
或子模块,这些都不是Fortran 2003广泛支持的功能。
如果由于某种原因(例如尚未提供的子模块),单独的和单独的单元必须在同一个文件中结束,我在使用单独的文件和include
时看不到任何不好。