我有一个包含大约100个文件的Fortran项目。所有这些都已编译,但并非所有这些都是运行所需的。还有一些文件包含已使用/未使用的子程序的混合。
有没有办法知道运行所需的最小文件/子程序/函数集?
答案 0 :(得分:1)
是。 从顶级主程序开始。
编译/链接并获取未满足的参考文献列表。
对于每个未满足的引用,添加包含它的文件。
重复这两个步骤,直到没有更多不满意的引用。
这将删除干净构建不需要的所有文件。 是的,这是很多工作。事情并不总是那么容易。
如果您想知道特定输入的运行不需要什么, 为此你需要一个覆盖工具,如gcov。 未使用的例程将显示覆盖计数为0。 那么如果你真的想摆脱它们, 将它们提取到单独的源文件中,以便排除它们,并确保它们不被调用。