linux内核如何维护大量的配置选项?

前端之家收集整理的这篇文章主要介绍了linux内核如何维护大量的配置选项?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题是关于配置维护和测试.

错误使用时,#ifdef,#elseif,#elif,#else,#endif预处理器指令不仅会降低C代码的可读性和可维护性,而且还会增加回归错误的风险(例如,当特定的时候构建配置尚未在一段时间内进行测试).

我想知道linux内核如何能够维持大量的配置选项而不会遇到完全的维护地狱?

我知道这对于各种不同的硬件都是灵活的,但是作为应用程序开发人员,配置选项的绝对数量看起来非常可怕.

您认为以下哪项陈述是正确的?

>大多数供应商仅针对其目标平台使用一组标准配置,因此大多数可能的配置组合既未经过测试也未经过使用
>存在一个非常严格的编码准则,允许引入新的#ifdef仅用于明显可分离的代码段,其中禁用某个功能是有意义的(并且负责人做出这些决定)
>每个新内核版本都有很多测试人员,配置相关的错误会及时得到修复,因为大多数内核都可能只是构建回归

编辑:我意识到有测试机器可以选择随机配置并检查它们是否构建和启动.但是,这些简单的构建/启动测试无法检测到除了破坏一切的错误之外的任何严重的回归

解决方法

我正在直接使用 Linux内核和“Das u-boot”.到目前为止,我没有足够的经验,但我会试一试.

据我所知,你所谈论的配置文件实际上是由多个文件组成的,从大多数常见的东西,如cpu架构等,到非常详细的东西,如RAM频率和那种东西.

是的,这是非常的,我的意思是非常可怕,但正如你所说,非常好(至少是体面的文件)项目必须继续下去.此外,你必须意识到有大量人在处理那里的所有东西.当然,没有人能够认为自己是一切真正的鉴赏家.

不是100%肯定,但我认为你是对的,大多数供应商至少使用一些标准配置.例如,假设大多数智能手机具有相同的通用硬件架构(cpu,GPU,RAM等),因此无需自定义所有内容.

也是,主要代码充满了

#ifdef,#ifndef,#endif

这显然有它的优点和缺点.但这是关于C(和C)的美妙事物之一,它允许控制一切.有时退出授权,有时候是真正的噩梦.

没有什么可以添加测试:)

原文链接:https://www.f2er.com/linux/394875.html

猜你在找的Linux相关文章