我有一个包含许多头文件的 C 项目,但我不想向客户提供一个带有一堆定义的特定头文件。我希望所有其他文件仅使用该特定头文件进行预处理,并且我想将所有源重新生成到一个新目录,以便客户能够编译该项目的新源,尽管他没有提到的头文件。
是否有 Linux 或 Windows 方法可以在编辑器中无需手动搜索/替换来执行此操作?
最佳答案
我会使用宏处理工具,例如 m4 ,它被广泛使用(它是大多数 Linux 和 *nix 发行版的标准配置,因为它被 autoconf、sendmail 等等使用)。将特殊 header 转换为一堆 m4
宏,然后将其应用于所有源文件。
请注意,m4
有很多其他替代方案,也可以考虑使用脚本语言,例如 Perl。
关于c - 如何将单个头文件应用于 C 项目的其余部分以便不再需要它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690829/