是否有帮助组织#includes的工具?

Fra*_*ank 24 c c++ code-organization header-files

是否有任何工具可以帮助组织#include属于.c或.h文件顶部的s?

我只是想知道因为我正在重组我的代码,将各种小函数定义/声明从一个长文件移动到不同的较小文件中.现在,每个较小的文件都需要位于#include长文件顶部的s 的子集.

只是烦人且容易出错,手动弄清楚所有#includes.虽然并非所有#include的代码都存在,但代码通常会编译.示例:文件A std::vector广泛使用但不包括vector; 但它目前包括一些不起眼的其他标题,恰好包括vector(可能通过一些递归包含).

msw*_*msw 1

makedependgccmakedep

  • 你提出了一个有效的观点。然而,工具仍然可以根据包含路径中存在的标头,甚至可能是标准(或流行)的标头来提出建议。 (4认同)
  • 我认为你提出的问题是不可逆转的。例如,我可以运行一个程序,告诉我“EOF”在“foo.c”中未定义。我还可以机械地确定 EOF 是在 `libio.h`、`stdio.h` 和(例如)`foo.h` 中定义的。我应该包括哪一个? (3认同)
  • 了解所包含的哪些头文件对编译没有影响也很有用。当然,可以一次删除一个标头并进行编译,但必须有一种更简单的方法。这将捕获早期版本中所需的标头的常见情况,但现在不需要了。 (2认同)