加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:18:33 所属栏目:Linux 来源:网络整理
导读:这个问题是关于配置维护和测试. 错误使用时,#ifdef,#elseif,#elif,#else,#endif预处理器指令不仅会降低C代码的可读性和可维护性,而且还会增加回归错误的风险(例如,当特定的时候构建配置尚未在一段时间内进行测试). 我想知道linux内核如何能够维持大量的配置
这个问题是关于配置维护和测试.

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

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

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

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

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

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

解决方法

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

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

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

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

也是,主要代码充满了

#ifdef,#ifndef,#endif

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读