gpt4 book ai didi

linux-kernel - 内核中的类似 strerror 的功能?

转载 作者:行者123 更新时间:2023-12-03 22:38:46 28 4
gpt4 key购买 nike

有没有strerror -当前内核中的类似功能?我一直没能找到,所以我的想法是没有,但更重要的是,他们有没有讨论过这个问题?我认为它可以减少故障排除时间,因为您不必查找错误代码(不是每个人都记住)并且可能使系统管理员和普通用户的事情变得更容易(通过 dmesg )。

在邮寄 LKML 之前,我想在这里问一下。我的想法是采用双重机制,一个用于错误名称(例如, EINVAL ),另一个用于描述。此外,%m glibc 扩展可以添加到printk,除了它必须读取错误代码,因为glibc 扩展读取errno .也许 %m可以打印错误名称,而 %M可以打印错误描述吗?

无论如何,如果添加它,它应该是一个 .config 选项,因为它会使文本大小膨胀。只需将错误名称(当前为 1 到 133)存储在单个字符串中,每个字符串之间有一个空终止符和一个慢 strerror 就可以缩小大小。 (被迫遍历字符串并计算空终止符),因为这的速度无关紧要。内部错误 512-529 必须在一个单独的字符串中。然后,可以返回指向以空字符结尾的字符串的直接指针,而无需复制任何内容。根据我的计算,这将需要大约 1322 字节的错误名称和 3540 字节的描述(基于现在在每个错误的 #define 之后的注释中的内容,并为当前缺少的那些添加“无描述”)。

然后,当配置禁用时,printk %m可以解释为 %d%M可以不打印任何东西(或一些类似的东西)。

最佳答案

不,没有。但是你可以在include/asm-generic/errno.h中看到错误代码的列表并在 include/asm-generic/errno-base.h .数量不多(少于200个),所以在开发过程中学习它们并不太难。

关于linux-kernel - 内核中的类似 strerror 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425255/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com