- 博客(12)
- 收藏
- 关注
原创 UDP协议解析:高效传输的轻量级选手
UDP 协议以 “无连接、不可靠、极简” 为核心设计理念,舍弃了 TCP 为可靠性增加的复杂机制,换来了低延迟、高传输效率和灵活的通信方式(单播、广播、组播)。它并非 “劣质的 TCP”,而是为特定场景量身打造的传输协议 —— 在对延迟敏感、数据完整性要求不高的场景中,UDP 的优势无可替代。理解 UDP,不仅要掌握其特性、报文结构,更要通过实际代码实现掌握其编程逻辑。在实际开发中,甚至可以基于 UDP 实现自定义的可靠性机制(如添加确认、重传逻辑),兼顾效率与可靠性,让 UDP 的适用场景更加广泛。
2026-03-04 21:50:31
984
原创 嵌入式Linux实战:JPEG编解码与LCD显示
libjpeg 是由 IJG(Independent JPEG Group)维护的开源 JPEG 编解码库,完全由 C 语言实现,集成了成熟的 JPEG 压缩 / 解压算法,是 OpenCV 等图像处理库的底层依赖,支持将 JPEG 文件解码为 RGB 像素数据,也能将 BMP 等位图编码为 JPEG 压缩文件。本文详细讲解了libjpeg 库的 ARM-Linux 交叉编译移植JPEG 解压到 LCD 显示BMP 转 JPEG 压缩。
2026-03-03 10:59:37
644
原创 掌握Linux进程与IPC核心技术
/ 定义消息结构long mtype;// 消息类型,固定为1// 消息正文:存储进程PID} MsgBuf;// 自定义信号#endif进程 A(消息队列创建者、读端)int msg_id;// 消息队列ID// 进程B的PID// 信号处理函数:捕捉SIG_READ_PID,读取消息队列MsgBuf msg;// 读取消息类型为1的消息perror("msgrcv读取失败");exit(-1);printf("进程A读取到进程B的PID:%s\n", msg.mtext);
2026-03-03 10:09:28
898
原创 Qt计算器开发:从零实现四则运算
Qt 作为跨平台的 C++ 图形界面开发框架,凭借其简洁的 API 和强大的信号槽机制,非常适合开发桌面应用。本文将手把手教你实现一个具备基础四则运算(加减乘除)、清空、退格功能的计算器,涵盖 Qt 界面布局、样式美化、信号槽绑定、表达式解析等核心知识点。
2026-03-01 02:25:13
865
原创 BMP图片解析与LCD显示实战
新增任意位置 / 任意尺寸的适配逻辑,可直接交叉编译在开发板运行,依次关闭文件、解除映射,释放所有资源,避免内存泄漏。
2026-02-25 23:50:30
876
原创 Linux LCD与BMP图像处理实战指南
优先使用mmap内存映射操作 LCD,减少数据拷贝,提高显示效率,避免显示异常;牢记 LCD 操作流程:打开设备→内存映射→操作内存→释放映射→关闭设备;32 位 LCD 的像素格式为 ARGB,需将 BMP 的 BGR 格式做对应转换。
2026-02-25 23:30:25
642
原创 LinuxC编程实战:标准IO与系统IO全解析
本文档整理了Linux C编程中标准IO和系统IO相关的核心问题及实操练习,分为基础理论和实践应用两部分。基础理论部分详细解析了FILE结构体、fopen/fclose原理、fgets/fread函数特性等关键概念,包括内存管理机制和错误处理方法。实践部分提供了文件读取、大小计算和拷贝等典型场景的代码实现,强调二进制模式操作、缓冲区优化及结果验证。内容紧密结合Linux系统特性,涵盖从基础原理到实际开发的完整知识链,适合系统学习标准IO和系统IO编程的开发者参考。
2026-02-22 12:59:58
782
原创 Linux标准IO与系统IO函数全解析
功能一致,fgetc 是函数,getc 是宏,getchar 是针对 stdin 的封装;:功能一致,fputc 是函数,putc 是宏,putchar 是针对 stdout 的封装;fgets/gets:fgets 安全(指定缓冲区大小),保留\n;gets 存在缓冲区溢出,已被废弃;fputs/puts:fputs 不自动加\n,可指定文件流;puts 自动加\n,仅输出到 stdout;:snprintf 是安全版,指定缓冲区大小,避免溢出;sprintf 无大小限制,易溢出;
2026-02-22 11:07:21
777
原创 掌握链表:数据结构的高效利器
首先定义链表的结点类型,包含数据域和指针域,数据域可根据业务需求修改(此处以int// 定义结点的数据域类型,可根据需求修改// 定义链表的结点结构// 数据域:存储有效数据// 指针域:指向直接后继结点}LList_t;链表作为线性表的重要实现方式,以离散存储、指针连接为核心,完美解决了顺序表增删效率低、内存利用差的痛点,是数据结构学习的重点和难点。
2026-02-10 21:59:04
657
原创 顺序表:高效存储与基础操作详解
顺序表通常由三个部分组成:存储数据的数组、当前顺序表的大小(容量)以及最后一个有效元素的下标(或元素个数)。// 存储数据的数组// 顺序表的容量int Last;// 最后一个有效元素的下标顺序表是一种简单且高效的线性表存储结构,适用于元素数量固定或需要频繁随机访问的场景。通过合理的实现,顺序表可以支持多种基本操作,如插入、删除和排序。然而,其插入和删除操作的效率较低,因此在需要频繁动态修改的场景中,可能需要考虑其他数据结构,如链表。
2026-02-10 09:00:25
54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅