C 内核中是否存在perror的等价物?

C 内核中是否存在perror的等价物?,c,module,linux-kernel,kernel,C,Module,Linux Kernel,Kernel,perror()在内核中是什么?我无法从错误值中分辨出错误代码是什么,即-22本身。Linux内核只是使用否定的错误代码作为约定。因此,在asm generic/errno base.h或asm generic/errno.h中查找并找到 #define EINVAL 22 /* Invalid argument */ 例如,如果将NULL传递给一个不接受NULL的函数,就会发生这种情况。这取决于函数。问题是关于使用peror(),而不是关于错误代码的含义。所以这不

perror()在内核中是什么?我无法从错误值中分辨出错误代码是什么,即-22本身。

Linux内核只是使用否定的错误代码作为约定。因此,在
asm generic/errno base.h
asm generic/errno.h
中查找并找到

#define EINVAL          22      /* Invalid argument */

例如,如果将
NULL
传递给一个不接受
NULL
的函数,就会发生这种情况。这取决于函数。

问题是关于使用
peror()
,而不是关于错误代码的含义。所以这不是一个好答案。@user3629249:这个问题实际上不是关于使用
peror
,而是关于如何解释内核中的错误代码。
perror
函数仅在用户空间中可用,在内核中不可用。