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"

错误码翻译:

相关推荐
代码游侠几秒前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio1 分钟前
rk芯片驱动编写
linux·学习
mango_mangojuice2 分钟前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
程序员侠客行6 分钟前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
时艰.10 分钟前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
Harvey90312 分钟前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
丶小鱼丶15 分钟前
并发编程之【优雅地结束线程的执行】
java
市场部需要一个软件开发岗位19 分钟前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
忆~遂愿23 分钟前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD00128 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php