RK3568平台(基础篇)linux错误码

一.概述

linux应用程序开发过程中,经常会遇到一些错误信息的返回,存在的可能性有,参数有误、非法访问、系统资源限制、设备/文件不存在、访问权限限制等等。对于这类错误,可以通过perror函数输出具体描述,或者通过strerror函数,将错误码转换为具体描述字符。linux函数调用失败时,错误码存放于一个全局变量errno中。

二.将错误码转换为具体错误描述

复制代码
#include <errno.h>
#include <string.h>
char *strerror(int errno);

/* 使用伪代码 */
ret = ioctl(fd, SIOCGIFCONF, (char*)&ifc);
if(ret)
{
	printf("ioctl failed,%s\n", strerror(errno));
}

然而一些情况下,为了节约存储空间;或者为了不让用户直接看到详细的错误信息描述,我们期望是输出一个错误码到日志文件中,运维或者开发人员根据具体错误码找到对应的错误信息描述。

三.错误码翻译表

对于4.15 linux内核版本,错误码定义文件路径如下,不同版本内核可能不一样,特别是相对较旧版本的内核。

基本错误码定义位于"include/uapi/asm-generic/errno-base.h"

其他错误码定义位于"include/uapi/asm-generic/errno.h"

错误码翻译:

相关推荐
fish_xk4 分钟前
Linux操作系统
linux
zh路西法6 分钟前
【udev重命名详细教程】放弃硬编码,从重命名开始
linux·机器人
Java成神之路-13 分钟前
面试题:@Controller 与 @RestController 区别
java·spring boot
用户2986985301414 分钟前
Java 提取 HTML 文本内容:两种轻量级实现方案对比
java·后端
studytosky15 分钟前
【高并发内存池】线程缓存核心原理与实现
linux·服务器·git·缓存
lihao lihao16 分钟前
Linux文件与fd
java·linux·算法
X7x519 分钟前
网络守护者:STP端口角色与状态转换深度解析
运维·网络·网络协议·信息与通信·stp
墨者阳29 分钟前
可观・可控・可治:DB运维平台架构设计与实践
运维·数据库·架构·自动化·数据可视化
奇妙之二进制29 分钟前
fastdds源码分析之EDP协议
运维·服务器·网络
Java爱好狂.30 分钟前
Redis高级笔记:原理+集群+应用+拓展+源码
java·数据库·redis·spring·java面试·后端开发·java八股文