logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

现代C++实战——从零开始写个文件拷贝器(上):需求分析与基础框架

本文介绍了使用现代C++实现文件拷贝器的初始步骤。作者首先分析了核心需求,包括分块读写、错误处理、进度反馈和结果验证,并设计了简洁的FileCopier类接口。技术选型上采用了C++17的std::filesystem库、RAII风格的流对象和vector作为缓冲区,以及chrono库进行时间测量。文章详细讲解了基础框架搭建过程,包括构造函数设计、异常处理机制、文件存在性检查、二进制模式文件打开和

文章图片
#软件工程
FreeRTOS:任务(Tasks)与调度基础

把当前任务从 Ready → Blocked,至少阻塞这么多个 tick。⚠️ 实时系统中不建议频繁创建 / 删除任务(碎片 + 不确定性)。如果在 host 模拟环境里看到 main 返回,各位可以在自己的上位机环境中试一下 😃。这就是后面互斥锁必须存在的根本原因。这就是 RTOS 和裸机。在“就绪态”的任务中,选。

文章图片
#开发语言#学习#嵌入式
Windows系统编程系列——说一说Windows下的静态库和动态库

本文介绍了Windows系统中静态库(.lib)和动态库(DLL)的核心概念与差异。静态链接将代码直接合并到可执行文件中,而动态链接则依赖运行时加载机制。文章详细解析了两种库文件的生成原理、使用场景及常见问题,包括动态库的导出机制、加载顺序、安全风险以及跨模块边界的使用注意事项。特别强调了DLL搜索顺序的安全隐患和DllMain中的loader lock问题,并给出了工程实践建议,如使用C风格AB

文章图片
#windows#学习
编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法

本文介绍了在Linux平台上编译OpenCV并集成FFmpeg视频解码支持的方法。

文章图片
#opencv#音视频
现代嵌入式C++教程:交叉编译基础与CMake多目标构建

本文介绍了嵌入式开发中的交叉编译技术与CMake多目标构建方法。首先解释了交叉编译的基本概念,即在一个平台(主机)上编译能在另一个平台(目标)上运行的程序,并分析了其必要性。文章详细讲解了交叉编译工具链的组成和目标三元组的概念,指出了交叉编译面临的挑战。 第二部分聚焦CMake构建系统,阐述了其在嵌入式开发中的优势,包括跨平台支持、模块化设计和现代化特性等。重点介绍了如何编写Toolchain文件

文章图片
#c++#学习#开发语言 +1
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架

笔者前段时间花费了一周,整理了一下自从TM1637开始打算的,使用OLED来搭建一个通用的显示库的一个工程。框架目前的最终目的,是设计一个丝滑的带有动画和图标的动态多级菜单。笔者会尽可能详细的介绍自己的设计思路,供大家参考。首先,笔者惯用的是PlatformIO作为嵌入式开发的IDE,CubeMx作为方便的代码生成器辅助笔者进行快速的工作。各位可能更多使用的是CubeIDE或者是MDK5,关于这个

文章图片
#c语言#单片机
嵌入式Linux八股文1:仔细说说UBoot的启动流程

本文详细分析了U-Boot在嵌入式Linux系统中的两种启动流程:无设备树(ATAG)和有设备树(DTB)方式。核心流程包括:CPU上电初始化、SPL阶段准备、重定位前硬件初始化(board_init_f)、代码重定位与修正、完全初始化(board_init_r)。关键区别在于有设备树方式需要加载并调整DTB文件,通过fdt命令修改硬件信息,最终将DTB地址传递给内核。文章还对比了两种方式下内核参

文章图片
#面试#linux#嵌入式
深入讨论C语言的可能抽象:部分对设计模式的思考

的文章,这个问题是我先前询问过的,我们如何在C语言中做我们熟悉的更加“高级”的语言中可能的抽象呢?我们知道:使用C语言进行编程的人,大部分都是面向嵌入式设备(底层设备),或者是面向底层场景(操作系统/高性能)进行编程。其内存资源,算力资源相对于我们的需求而言,谈不上富裕。过多的冗杂的抽象(比如说Jvav),并不适用于这里。这里的抽象更加的自由(甚至可以说是基本没有约束),可以更好的发挥各位程序员的

#学习#c语言#设计模式 +1
技术选型:为什么笔者的CCIMXDesktop选择了Qt6而不是Qt5作为GUI开发框架

Qt6相比Qt5在GUI开发框架上具有显著优势,主要体现在:1)引入RHI渲染硬件接口,支持多种图形API的统一抽象;2)优化事件传递机制,减少对象拷贝和事件延迟;3)改进QPainter性能,降低状态切换成本并优化脏矩形计算;4)提升窗口合成效率,实现分层更新和零拷贝技术。此外,Qt6对现代C++标准(如C++17)的支持更完善,避免了Qt5在新编译器下的兼容性问题。实测显示Qt6在动画流畅度上

文章图片
#qt#开发语言#架构 +2
蓝桥杯嵌入式赛道备考1 —— 基础GPIO实战

我们需要注意的是,我们对锁存器编程只需要关心他的输入输出即可,对于这个锁存器,给一个高电平的时候。我们分析一下这个图。首先,从左侧看起,VDD给LED提供了高电平,也就是使用了上拉电阻上拉到了VCC,想要点亮这个LED,只需要给对应的电平一个低电平。我们的PBX和PAX读取我们的按钮,无非就是确定的高低电平。此时,我们应该得到的是低电平(若我们嗯下的话),这样就跟我们的先前的高电平的状态反过来了,

文章图片
#蓝桥杯
    共 65 条
  • 1
  • 2
  • 3
  • 7
  • 请选择