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

linux内核如何维护大量的配置选项?,第1张

概述这个问题是关于配置维护和测试. 错误使用时,#ifdef,#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)的美妙事物之一,它允许控制一切.有时退出授权,有时候是真正的噩梦.

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

总结

以上是内存溢出为你收集整理的linux内核如何维护大量的配置选项?全部内容,希望文章能够帮你解决linux内核如何维护大量的配置选项?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1032951.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存