autoconf.h中的宏定义是自动生成的
看见内核源代码中有很多“#ifdefCONFIG_OF”,发现CONFIG_OF在~/include/generated/autoconf.h中被定义为1。(~代表源码树根目录)
而autoconf.h又是如何生成的呢?在autoconf.h中,特别说明此文件内容“DONOT EDIT”。
原来autoconf.h中的内容是在make config完了之后, 由./scripts/kconfig/生成的,读取.config中的配置,然后通过header_print_symbol将=y的定义重置为#define CONFIG_XXX 1的模式写到autoconf.h文件当中。
作用就是使得你在menuconfig中选中的配置成为C语言当中能识别的头文件格式, 以便在以后使用的时候作为宏定义出现。
本文介绍了Linux内核中autoconf.h文件的生成过程及其作用。该文件内容由make config完成之后,通过scripts/kconfig/目录下的工具根据.config配置生成。其目的是将menuconfig中选定的配置转换为C语言能识别的宏定义。

543

被折叠的 条评论
为什么被折叠?



