检测编译时包含的大文件

Detect large files being included while compiling

我正在使用 armcc/gcc 作为包含大型 header 文件(>20MB 硬件 CSR 文件)的代码库。我希望能够检测到任何包含这个大 header 文件的文件,因为我正在尝试 root-cause 我的 super-slow 构建。

我可以在其中一个编译器中使用一个选项来警告我文件的大小(包括它可能包含的 header 的大小)吗?

您可以将 header 大文件放入:

#warning This large header is included

然后在每个翻译单元中,您将收到一条编译器 (GCC) 警告消息,指出哪个源文件包含 header(直接或间接)。