3

我刚刚在这里阅读了关于在 Fortran 中使用模块的正确方法的非常好的问题/答案。通过在模块中编写子例程,除了阐明代码之外,还可以使它们变得明确。

据我所知,一个模块必须放在一个文件中,例如“mod_exemple.f90”。我编写的程序通常很长,有许多子程序,它们确实可以按目的排序,从而放入模块中。问题:那会做长的模块文件,有数百行。

您可以将一个模块拆分为多个文件吗?是否建议?为什么?你有其他的分裂建议吗?

4

2 回答 2

8

我会避免将模块拆分为多个文件,这不是标准的做法,我会发现比所有相关例程都在同一个文件中更难阅读/理解。如果您的模块太大,那么我强烈建议重新考虑模块的逻辑,看看您是否不能将通用代码和实用程序例程分解到它们自己的模块中。最好的解决方案不是让您的相关代码分布在多个文件中,而是最好的解决方案,无论需要多少行。

于 2012-08-15T10:05:20.427 回答
1

是的,您可以,但您必须使用include、 或 cpp#include或子模块,这些不是 Fortran 2003 广泛支持的功能。

如果由于某种原因(例如,子模块尚不可用),长且逻辑上独立的单元必须在同一个文件中结束,我认为使用单独的文件和include它们没有什么不好的。

于 2012-08-15T09:40:26.117 回答