(作为前言,我意识到这很古怪,不是标准的 C++ 实践,但它适合我的目的。)
好的,所以我有一个 C++ 库,它基本上都是头文件,因为它大量使用模板。几乎每个头文件都包含一个类定义(“ButterworthFilter.h”、“Interpolator.h”等)。我想让这些类中的每一个都有第二个“独立”版本,以便它们可以轻松地传输到不同的项目而无需占用整个库。所以基本上这个手动版本将进入每个标题,查看#include依赖项,然后将这些包含的类复制/粘贴到它们在原始文件中#included的顶部。这样做的问题是,只要原始文件之一发生更改,就需要更改,因此无论何时进行更新都应该以编程方式完成。
有没有办法让编译器输出每个依赖文件的全部内容或其他东西?例如,我可以告诉编译器输出 ButterworthFilter.h 的依赖项,它会检查 #includes,查看它是否依赖于 Filter.h,并输出所有 Filter.h(以及递归的任何依赖项)。更好的是实际上是用来操作这样的库的程序。我认为拥有一个可以生成隐藏在某个库中的任何有用类的独立版本的工具会很棒。
无论如何,我希望这个问题有意义,并提前感谢。