如何将单个头文件应用于C项目的其余部分,以便;不再需要什么了?

如何将单个头文件应用于C项目的其余部分,以便;不再需要什么了?,c,linux,windows,gcc,header-files,C,Linux,Windows,Gcc,Header Files,我有一个带有许多头文件的C项目,但我不想向客户交付一个带有大量定义的特定头文件。我希望所有其他文件只使用该特定的头文件进行预处理,并且我希望将所有源代码重新生成到一个新的目录,以便客户能够编译该项目的新源代码,尽管他没有提到的头文件 有没有Linux或Windows的方法可以不用在编辑器中手动搜索/替换就可以做到这一点?我会使用宏处理工具,例如,它是广泛可用的(它是大多数Linux和*nix发行版的标准,因为autoconf、sendmail等都使用它)。将特殊头转换为一组m4宏,然后将其应用于

我有一个带有许多头文件的C项目,但我不想向客户交付一个带有大量定义的特定头文件。我希望所有其他文件只使用该特定的头文件进行预处理,并且我希望将所有源代码重新生成到一个新的目录,以便客户能够编译该项目的新源代码,尽管他没有提到的头文件


有没有Linux或Windows的方法可以不用在编辑器中手动搜索/替换就可以做到这一点?

我会使用宏处理工具,例如,它是广泛可用的(它是大多数Linux和*nix发行版的标准,因为autoconf、sendmail等都使用它)。将特殊头转换为一组
m4
宏,然后将其应用于所有源文件


请注意,
m4
还有很多其他替代方案,也可以考虑使用Perl之类的脚本语言。

我想您可以禁用其他#包括
#include
,然后在文件上运行C预处理器(gcc-E左右)。这可能会变得非常难看——为什么不把文件给你的客户呢?我会使用像
m4
这样的工具——将特殊头转换成一堆m4宏,然后将其应用于所有源文件。谢谢Paul。请把你的回答写下来作为回答,这样我就可以接受。你可能会发现这个问题的答案很有用。
sunifdef
coan
可能会有所帮助。