您的位置:首页 > 房产 > 家装 > 大连模板建站代理_南宁网页搭建软件_深圳龙岗区布吉街道_绍兴seo排名公司

大连模板建站代理_南宁网页搭建软件_深圳龙岗区布吉街道_绍兴seo排名公司

2024/10/5 22:21:59 来源:https://blog.csdn.net/ctbinzi/article/details/142397621  浏览:    关键词:大连模板建站代理_南宁网页搭建软件_深圳龙岗区布吉街道_绍兴seo排名公司
大连模板建站代理_南宁网页搭建软件_深圳龙岗区布吉街道_绍兴seo排名公司

.config

.config文件本质是宏定义,Makefile中引用了该文件,利用该文件中定义的开关,控制编译流程,即那些模块需要编译,那些模块不需要。与此同时,C代码中也可以使用.config中定义的宏。

.config文件在一个工程中是通常是唯一地存在的,当项目工程越来越大,模块越来越多,.config文件中的宏定义项也就越来越多,不方便管理。

而且.config是纯文本,对于大型项目的几千个配置项,管理起来实属困难。

Kconfig

Kconfig的出现就是为了解决.confg文件管理困难问题,它相当于一个模板定义了这个项目中都有哪些配置项,也就是宏定义项,且可以针对各个配置项定义好数据类型和备注说明,以及默认值。而且采用模块化设计,项目根节点下的Kconfig文件可以通过source将子模块中定义的Kconfig引用进来,方便了管理。

当然,Kconfig最终还是要转化为.config,也就是以Kconfig为模板生成.config,最终提供给Makefile使用。

至于从Kconfig模板生成.config文件,就用很多种方法,比如鼎鼎大名的menuconfig,它就是读取Kconfig,生成菜单供用户选择,最终根据用户选择的结果,生成.config文件。当然,不局限与.config文件,我们可以把.config文件换个名字,比如my_proj_defconfig,于是就有了***_defconfig文件。

***_defconfig

***_defconfig本质上就是一个.config文件的副本,也就是为了某些工作需要,提前配置好的.config文件,在有需要的时候,将其名字改为.config就可以直接给Mackefile用了,用来指引编译流程。

同时,make工具还提供了一项功能,就是通过***_defconfig生成.config文件的功能,这跟直接拷贝***_defconfig文件为.config文件的区别在于,make工具会以Kconfig为模板,不全***_defconfig中未定义,且Kconfig中有默认值的宏定义项。同时,还会去除***_defconfig中定义了,但是Kconfig中未定义的项目。

总结

Kconfig的用法通常有两种,一种是使用带UI界面的工具,比如menuconfig;另一种是使用defconfig。使用defconfig的好处在于,我们只需要在defconfig中定义少量的,我们特别关心的,与Kconfig中默认值不符的项目,然后使用make工具,以Kconfig为模板,以defconfig为修正项,生成.config文件。

注意事项

基于defconfig,使用make工具生成.config时,defconfig中新增的宏定义项目,如果未在Kconfig中定义,将不会生效,也就是不会在.config文件中出现。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com