- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有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/
请解释以下程序中发生了什么。 我在程序的开头和结尾检查了 strerror(errno) 返回的地址,并确认它每次都返回相同的地址。然后一旦确定这一点,在第一种情况下我继续将相同的地址分配给 ptr,
我正在尝试创建类似 this 的函数它将打印出与其错误编号相关的错误详细信息,但我收到错误 error: expected initializer before 'strerror'。这是代码 #in
C 函数strerror 返回错误描述字符串,详见here .示例字符串 No such file or directory 问题是这些字符串在哪里定义的?我查看了我的头文件,但没有看到任何东西。 最
我正在将一些代码移植到 Windows,Microsoft 编译器 (Visual C++ 8) 告诉我 strerror() 不安全。 撇开微软提供的所有安全字符串中的烦恼因素不谈,我实际上可以看到
考虑到 fopen() 失败,在下面的代码中: FILE *fp = fopen("file.txt", "w"); if (fp == NULL) { printf("Error occur
有没有strerror -当前内核中的类似功能?我一直没能找到,所以我的想法是没有,但更重要的是,他们有没有讨论过这个问题?我认为它可以减少故障排除时间,因为您不必查找错误代码(不是每个人都记住)并且
我的代码如下: #include #include #include int test(const char *fmt, ...); int main(void) { int i
设置非拉丁语言环境时,IOError.strerror 对我来说在 Python 2.7 中变为非 Unicode: import locale locale.setlocale(locale.LC_
据我了解,strerror(errno)返回对应于 errno 的错误的字符串形式.在这种情况下,我是否需要在使用完函数后释放函数的返回结果? 最佳答案 你不仅不需要;你绝不能 .唯一可以传递给fre
我刚刚浏览了 C99 标准,寻找一些我现在不记得的东西,当我注意到从 strerror() 函数(第 7.12.6.2 节)返回的指针不是t const 限定,即使标准说: The strerror
采用这个简单的程序 #include #include #include int main (void) { printf ("ERROR %d %s\n", ETIMEDOUT, stre
在使用 CRT 函数(如 fopen())后,我可以使用 strerror() 获取 errno 值的文本表示。如果我使用 open() Linux 系统调用而不是 CRT 函数,它也会在失败时设置
在我的代码中的某些地方,我会像这样打印调试消息: int ret = getLinkSpeed(device.getSysName(), linkSpeed); if (ret < 0) {
我尝试过 RTM,但是:给定 ICU UErrorCode ,如何获取相应的错误信息字符串?即,ICU 相当于 strerror(3) . 最佳答案 const char *u_errorName(U
根据 Microsoft 文档,API char * strerror(int errnum) "maps errnum to an error-message string and returns
我正在使用谷歌应用引擎创建一个访问预测 API 的应用程序。当我在网站上更新它时,我能够运行该应用程序,但是我无法在 localhost:8080 上运行它。 我绝对是菜鸟,非常感谢任何帮助。 这是错
我正在使用 Visual Studio 2013 和 ITK 4.3 进行图像分割,但出现错误: \itk4.3.1-64bit\debug\include\itk-4.3\gdcmVR.h(168)
我已经成功cross-compiled the Apache Portable Runtime (APR) for the iPhone ,使用一组 configure scripts使用必要的交叉编
我尝试通过 native 方法访问 android 中的文件,但在调用读取或写入函数后出现“无效参数”。 data_ptr 对齐到 512 字节,它在 java 中声明为字节数组。 JNIEXPORT
我是一名优秀的程序员,十分优秀!