编写C和C++程序时,需要在代码中使用#include来引用头文件。除了这个方法外,gcc支持参数-include,可以在编译时直接向目标代码中添加头文件,而不需要在代码中加入include语句。
通过这个方式可以在不修改代码的情况下增加或改变头文件引用,在大量文件都要引用相同的公共头文件时减少代码量。
以DPDK为例,在DPDK中,编译时会将config配置文件中的所有配置信息全部转换为宏定义生成在rte_config.h中。然后在mk文件中通过CFLAGS+= -include rte_config.h在所有文件中都引用该头文件,而不用再每个文件中重复通过#include来引用。