0

我有一个包含大约 100 个文件的 Fortran 项目。所有这些都已编译,但并非所有运行都需要它们。还有一些文件包含混合使用/未使用的子程序。

有没有办法知道运行所需的最小文件/子例程/函数集?

4

1 回答 1

1

是的。从顶级主程序开始。

编译/链接它并获取不满意的引用列表。

对于每个不满意的引用,添加包含它的文件。

重复这两个步骤,直到不再有不满意的引用。

这将删除干净构建不需要的所有文件。是的,这是很多工作。事情并不总是那么容易。

如果您想知道特定输入的运行不需要什么,那么您需要一个覆盖工具,例如gcov。未使用的例程将显示覆盖计数为 0。然后,如果您真的想摆脱它们,请将它们提取到单独的源文件中,以便您可以排除它们,并确保它们没有被调用。

于 2017-03-29T15:38:19.410 回答