哪个文件?哪个子程序?

时间:2017-03-29 14:54:42

标签: fortran profiling unused-variables

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

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

1 个答案:

答案 0 :(得分:1)

是。 从顶级主程序开始。

编译/链接并获取未满足的参考文献列表。

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

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

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

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