自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 深入理解 C++ 异常处理:从原理到实战

异常不是语法错误,而是程序运行时的 “反常行为”。比如你写了,编译时不会报错,但运行时会触发 “除数为 0” 的异常;再比如尝试打开一个不存在的文件,也会引发异常。基础用法能应对简单场景,但复杂项目中,我们还需要掌握嵌套try-catch、异常规范和自定义异常类。基础类型(int、string)只能传递简单的异常信息,而自定义异常类可以封装更丰富的信息(如错误码、错误描述、文件路径、行号),还支持继承 —— 方便统一处理多类型异常。

2025-10-22 21:36:44 840

原创 一文吃透 C++ 多态:从原理到实战,面试考点全覆盖

多态的英文是 “Polymorphism”,字面意思是 “多种形态”。同一操作作用于不同对象时,产生不同的行为效果。举个生活中的例子:同样是 “吃饭” 这个操作,狗吃狗粮、猫吃猫粮、人吃米饭 —— 这就是多态。对应到代码中,就是 “调用同一个函数(如eating()),不同对象(DogCat)执行不同的逻辑”。编译时多态(静态多态):编译阶段就确定要调用的函数,比如函数重载、运算符重载;运行时多态(动态多态):运行阶段才确定要调用的函数,核心是 “虚函数 + 继承”,也是多态的核心考点。

2025-10-22 21:36:15 934

原创 基于Linux c的华为云 MQTT 通信

本文介绍了基于MQTT协议的物联网通信实现方案,以华为云IoT平台为例,详细讲解了从设备接入到云端通信的全过程。文章首先阐述了MQTT协议的特点和应用场景,重点分析了CONNECT、SUBSCRIBE和PUBLISH三类核心报文的结构与实现原理。通过Linux C语言示例代码,展示了如何手动构建MQTT报文、实现设备认证、主题订阅和消息发布等功能。项目还设计了网关与STM32设备的串口通信,构建了完整的"云-网关-设备"数据链路。最后演示了云端命令下发的实现方法,并提供了完整的代码示例。

2025-10-11 10:27:55 911

原创 MySQL数据库

MySQL数据库基础操作指南 本文介绍了MySQL数据库的基础知识及操作指南。主要内容包括:1)数据库概念与作用,以及常见数据库类型;2)MySQL环境搭建步骤,包括安装及密码设置;3)数据库基本指令,涵盖启动/退出、库操作(创建/查看/删除/选择);4)表的操作详解,包括数据类型、约束条件(主键、默认值、唯一性等)、表结构修改及查询方法。文章提供了完整的MySQL基础操作流程,适合初学者快速掌握数据库管理的基本技能。

2025-10-11 10:27:42 1021

原创 Linux之io复用

本文介绍了三种I/O多路复用技术(select、poll、epoll)实现并发服务器的原理与特点。select通过bitmap监听文件描述符,但存在1024限制和性能问题;poll改用结构体数组,解决了FD重用问题但仍需遍历所有描述符。epoll采用红黑树和就绪链表机制,通过分离事件注册与等待过程,显著提升性能,支持更多并发连接。三种方式均通过内核态检测I/O状态变化,但epoll在效率、扩展性和实现机制上更具优势,是Linux下高性能并发服务器的首选方案。

2025-09-10 17:18:11 736

原创 Linux网络编程之TCP和UDP

【摘要】本文介绍了TCP和UDP两种主要网络传输协议。TCP通过三次握手建立可靠连接,确保数据有序传输,适用于文件传输、网页浏览等场景;通过四次挥手安全断开连接。UDP是无连接协议,具有低延迟、高效率特点,适用于实时游戏、视频流等对实时性要求高的应用。选择协议需权衡可靠性与速度:需要可靠传输选TCP,追求低延迟选UDP。两种协议各有优势,应根据具体应用需求选择。

2025-09-05 21:33:53 920

原创 Linux进程通信之Socket套接字

摘要:套接字(Socket)是实现网络通信的编程接口,分为基于TCP的流式套接字(可靠传输)和基于UDP的数据包套接字(无连接服务)。TCP通信包含服务端(创建套接字->绑定->监听->接受连接->通信)和客户端(创建套接字->连接->通信)的标准流程。为实现多客户端并发处理,可使用select多路复用技术,通过监控多个文件描述符来高效处理多个连接请求,避免多线程开销。示例代码展示了select实现的服务端如何同时管理多个客户端连接,以及基本的客户端通信流程。这种I/O多

2025-09-05 21:32:55 1045

原创 Linux进程通信之管道

本文介绍了Linux中的两种进程间通信方式:匿名管道和命名管道。匿名管道使用pipe()创建,仅适用于有亲缘关系的进程间通信,具有半双工特性,缓冲区固定为4KB。命名管道通过mkfifo()创建,允无关进程通信,以文件形式存在但数据存储在内存中。文章提供了两种管道的创建、读写操作示例代码,并详细说明了相关系统调用的使用方法和注意事项。两种管道都遵循先进先出原则,但命名管道在进程结束后仍保留文件路径。

2025-08-25 20:49:01 812

原创 Linux之进程

本文介绍了进程的基本概念及其在操作系统中的创建与管理方式。主要内容包括:1)进程是程序运行的实例,拥有独立资源;2)进程可通过系统调用或父进程创建,重点讲解了system、fork等函数的使用;3)特殊进程状态:孤儿进程(被init收养)和僵尸进程(父进程未调用wait回收);4)进程等待机制(wait/waitpid函数)及其应用场景。文章通过代码示例详细演示了进程创建、孤儿/僵尸进程的形成过程及解决方案,为理解操作系统进程管理提供了实践参考。

2025-08-24 19:03:19 929

原创 基于STM32F407的智能灯光系统

SU-03T是一款专为智能家居、物联网设备设计的低成本、低功耗离线语音识别模块。它采用本地化处理方案,无需依赖网络,可实现快速语音唤醒和指令识别,典型响应时间低于200毫秒,适合实时控制场景。ESP8266 Wi-Fi模块是一款由乐鑫科技(Espressif Systems)设计的高性价比物联网解决方案,集成了Wi-Fi通信和微控制器功能于一体。

2025-08-16 13:49:49 870 5

原创 驾考考试报名管理

驾考考试报名工作给各机构报名工作带来了新的挑战,给交通管理部门增加了很大的工作量,报名数据手工录入既费时又会不可避免地出现错误,同时也给不少考生以可乘之机。本系统实现了学员信息的增删查改、考试预约管理和科目一/科目四的模拟考试功能,适合初学者练习C语言结构体、链表、数组、函数等基础知识。add_student:添加新学员到链表头部,自动分配编号,输入基本信息。用于存储每个学员的信息,包括编号、姓名、身份证号、电话、预约信息等。book_exam:为指定学员预约考试,填写科目、日期、场地等。

2025-07-04 21:19:01 668

原创 STM32F407温湿度检测与数据上传

本文介绍了一种基于DHT11温湿度传感器的检测系统设计。系统通过DHT11采集环境温湿度数据,STM32F407单片机处理数据后,通过蓝牙模块实现远程传输。文中详细阐述了DHT11的工作原理、引脚定义、通信时序,并提供了完整的代码实现,包括初始化、数据读取、校验算法等关键功能。系统采用开漏输出模式,配合精确的微秒级延时控制,确保数据采集的可靠性。

2025-06-04 20:08:55 940

原创 数据结构——单向链表

链表是一种常见的线性数据结构,它通过指针将一系列节点连接起来。与数组相比,链表在插入和删除操作上有独特的优势,因此在很多编程场景中被广泛应用。2.3) 中间插入。2.2 指针域 (保存下一个结点地址)2.1 数据域 (保存实际数据)在系统中没有足够连续的内存空间来存储数据时可以使用链表来存储。1) 定义结点类型。

2025-03-08 23:46:07 594

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除