- 博客(352)
- 收藏
- 关注

原创 QT中Qwt、QChart、QCustomPlot使用与性能对比
QT中对比Qwt、QChart、QCustomPlot三个绘图库,qcustomplot在绘制大量点的二维曲线上性能优势明显,通过qcustomplot程序合理使用(包括开启硬件加速)及针对项目需求的优化,在实际项目应用中应用qcustomplot做到实时刷新曲线一千万点是没有问题的,甚至设计合理还能做到更高。关键词:QT5绘图,QT6绘图,qcustomplot,qchart,QT绘图性能,qcustomplot绘图性能测试,qchart绘图性能测试;
2023-12-06 14:52:02
7693
8
原创 单元测试与QTestLib框架使用
单元测试与QTestLib框架使用在软件开发中,单元测试是指对软件中最小可测试单元(通常是函数、类的方法)进行隔离的、可重复的验证。
2025-06-06 20:29:45
1357
1
原创 AI之MCP协议介绍
AI之MCP协议介绍MCP(Model Context Protocol,模型上下文协议)是由Anthropic公司(Claude大模型的母公司)于2024年11月25日发布的一种开放通信标准协议,旨在解决目前AI大模型因为数据孤岛限制而无法充分发挥潜力的问题,统一大模型语言(LLM)与外界数据源和工具之间的通信协议,它就像 USB-C 接口一样,提供了一种标准化的方法,将 AI 模型连接到各种数据源和工具,为 AI 应用提供了连接万物的接口。
2025-06-05 20:20:43
49
原创 C及C++编译链接过程详解
C及C++编译链接过程详解C/C++程序的构建是一个多阶段的过程,从源代码到最终可执行文件需要经历预处理、编译、汇编和链接四个主要阶段。完整构建过程(GCC)(1)预处理gcc -E main.c -o main.i(2)编译gcc -S main.i -o main.s(3)汇编as main.s -o main.o(4)链接ld main.o -o app -lc
2025-06-05 20:13:48
812
原创 VS下C++及C#项目打包发布方法
VS下C++及C#项目打包发布方法一.打包为单一exe文件1.打开项目属性页(右键项目 → 属性)2.选择配置(如 Release)3.项目属性→ C/C++ → 代码生成→ 运行库 将 运行时库(Runtime Library) 设置为: /MT(Release 模式) /MTd(Debug 模式)注意:不要选择 /MD 或 /MDd,否则会动态链接运行时库。
2025-06-03 21:12:37
1064
原创 VS2022下C++ Boost库安装与使用使用
VS2022下C++ Boost库安装与使用使用Boost 是一个广泛使用的 C++ 库集合,提供了许多高质量、可移植、高效的工具和组件,被视为 C++ 标准库的延伸。自 1998 年成立以来,Boost 已成为 C++ 社区的核心资源,许多 Boost 库通过实践验证后被纳入 C++ 标准(如智能指针、正则表达式、多线程),因此被称为 “C++ 的未来实验室”。2.跨平台兼容:支持 Windows、Linux、macOS 等主流操作系统,以及 GCC、Clang、MSVC 等编译器。
2025-06-03 21:10:46
932
原创 matIo库及.mat数据格式介绍
matIo库及.mat数据格式介绍.mat 是 MATLAB 软件的标准二进制数据存储格式,用于保存变量、矩阵、数组、结构体等数据类型。其名称源于 “MATLAB Data” 的缩写,最初设计为高效存储和加载 MATLAB 环境中的数据,后来逐渐成为科学计算、工程分析等领域的通用数据格式之一。
2025-05-22 20:31:55
838
原创 MIPI摄像头linux驱动开发步骤及说明
MIPI摄像头linux驱动开发步骤及说明本文是 MIPI(Mobile Industry Processor Interface)摄像头驱动开发 的详细步骤及技术说明,基于 Linux 内核(V4L2 音视频框架) 和嵌入式系统开发场景,涵盖硬件初始化、协议处理、驱动实现及调试全流程。
2025-05-22 20:30:01
1537
原创 Linux 内核音视频架构(V4L2 )介绍
Linux 内核音视频架构(V4L2 )介绍Linux 内核中的 V4L2(Video for Linux Two)框架 是用于管理音视频设备(如摄像头、电视调谐器、视频采集卡等)的核心子系统。它提供了一套统一的接口,使得用户空间应用程序能够方便地访问和控制硬件设备,同时抽象了底层硬件差异,简化了驱动开发流程。
2025-05-21 19:50:51
1222
原创 VoiceFixer语音修复介绍与使用
VoiceFixer语音修复介绍与使用VoiceFixer 是一款基于深度学习的通用语音修复工具,主要用于恢复严重退化的语音信号,支持降噪、消除回声、提升音质等功能。
2025-05-21 19:46:33
1010
原创 C及C++的音频库与视频库介绍
C及C++的音频库与视频库介绍在 C/C++ 开发中,处理音频和视频需要依赖专业的库来实现编解码、播放、录制、处理等功能。本文介绍多种常用的音频及视频库。
2025-05-20 20:09:41
1503
原创 C及C++不定参数log输出方法(printf风格)
C及C++不定参数log输出方法(printf风格)本文介绍了三种在不同编程语言中实现日志记录和字符串格式化的方法。首先,在C语言中,通过宏定义LOG实现日志功能,该宏可以输出文件名、函数名、行号、日期时间及自定义消息内容。其次,在C++中,利用C++11的变参模板实现可变参数打印功能,并展示了C++17及以上版本的简化代码。最后,介绍了C++的fmtlib库,该库提供了高效且安全的字符串格式化功能,是C++20标准库std::format的基础实现。
2025-05-20 20:05:50
878
原创 Yocto和Buildroot功能和区别
Yocto和Buildroot功能和区别Yocto 和 Buildroot 都是用于嵌入式 Linux 系统开发的工具集,它们的目的是帮助开发者轻松构建定制的 Linux 系统镜像,以便在嵌入式设备上运行。
2025-05-19 20:12:04
212
原创 使用Cmake 来构建跨平台的动态库和应用程序
使用Cmake 来构建跨平台的动态库和应用程序cmake --version# Ubuntu下安装最新 CMakesudo apt install cmake本文介绍了一个基于CMake的跨平台项目构建过程,项目包含一个动态库mylib和一个可执行程序myapp。mylib提供了加法和减法功能,myapp则调用这些功能并输出结果。文件结构包括根目录下的CMakeLists.txt,以及myapp和mylib子目录中的CMakeLists.txt和源代码文件。
2025-05-19 20:08:58
1093
原创 C语言实现INI配置文件读取和写入
C语言实现INI配置文件读取和写入INI配置文件是一种简单的文本文件,用于存储配置信息,通常由一个或多个节(section)组成,每个节包含多个键值对(Key-Value)格式。INI文件易于阅读和编辑,广泛应用于多种程序和应用中。
2025-05-16 20:43:11
592
原创 XML介绍及常用c及c++库
XML介绍及常用c及c++库C 项目:优先考虑 Expat(轻量)或 libxml2(功能全)。C++ 项目:优先用 TinyXML2(简单)或 pugixml(高性能 + XPath)。嵌入式系统:Mini-XML 或 Expat。 若需随机访问节点或修改 XML(如配置文件用法),选 Mini-XML。 若为超大型文件或内存受限环境,选 Expat。需要 XPath:libxml2(C),支持完整 XPath 3.1; libxml++(C++)
2025-05-16 20:41:22
1073
原创 REST架构风格介绍
REST架构风格介绍REST(Representational State Transfer)是由 Roy Fielding 在 2000 年提出的一种软件架构风格,用于设计网络应用的通信模式。它基于 HTTP 协议,强调通过统一的接口(如标准 HTTP 方法)管理资源,实现客户端与服务器的解耦。
2025-05-15 19:56:19
782
原创 RPC与SOAP的区别
RPC与SOAP的区别RPC(远程过程调用)和SOAP(简单对象访问协议)均用于实现分布式系统中的远程通信,但两者在设计理念、协议实现及应用场景上存在显著差异。
2025-05-15 19:54:09
466
原创 RPC协议及库介绍
RPC协议及库介绍RPC(Remote Procedure Call),远程过程调用协议,客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样,即允许像调用本地服务一样调用远程服务。
2025-05-14 20:05:32
1147
原创 C及C++的SOAP协议库
C及C++的SOAP协议库gSOAP 是一个功能强大的开源工具包,专为 C 和 C++ 设计,用于快速开发基于 SOAP 协议的 Web 服务和客户端。下载地址: https://sourceforge.net/projects/gsoap2/files/
2025-05-14 20:02:41
694
原创 Web Service及其实现技术(SOAP、REST、XML-RPC)介绍
Web Service及其实现技术(SOAP、REST、XML-RPC)介绍Web Service(Web 服务)Web Service 由万维网联盟 (W3C) 定义为一种软件系统,旨在支持通过网络进行可互操作的计算机间交互。广义概念:基于 Web 技术(如 HTTP 协议)的跨平台、跨语言通信机制,用于不同系统间的数据交换。技术范畴:包含多种实现方式(如 SOAP、REST、XML-RPC 等),是一种抽象的服务架构。
2025-05-13 21:24:37
1012
原创 OPC UA 协议介绍
OPC UA 协议介绍OPC UA 统一架构,支持跨平台和更高层次的安全性,提供更灵活和强大的数据建模和传输功能。OPC UA不再依赖微软的COM/DCOM技术,而是基于独立于平台的协议栈,如TCP/IP、HTTP和WebSocket。 目前,OPC UA 的最新版本是 1.05。除了提供客户端-服务器(订阅)模式,OPC UA 还包括一个 Pub-Sub 机制,允许通过 UDP 协议、MQTT 协议或 AMQP 协议推送 JSON 规格的数据(也可以使用标准定义的二进制规格 - UADP)。
2025-05-13 21:21:28
1075
原创 Modbus协议介绍
Modbus协议介绍Modbus是一种串行通信协议,由Modicon公司(现为施耐德电气)在1979年为可编程逻辑控制器(PLC)通信而开发。它是工业自动化领域最常用的通信协议之一,具有开放性、简单性和跨平台兼容性,广泛应用于工业设备、楼宇自动化、电力系统等场景。 Modbus协议还遵循主从协议,支持单主机,多从机,最多支持247个从机设备。
2025-05-12 20:31:29
943
原创 WebSocket的原理及QT示例
WebSocket 协议介绍及qt编程WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议,它在 2011 年被 IETF 定为标准 RFC 6455,并由 RFC7936 补充规范。与传统的 HTTP 协议不同,WebSocket 允许服务器和客户端之间进行实时、双向的数据传输,打破了 HTTP 协议请求 - 响应的模式限制,大大提高了数据传输的效率和实时性。
2025-05-12 20:28:49
1249
原创 Qt6.8中进行PDF文件读取和编辑
Qt6.8中进行PDF文件读取和编辑1.环境配置在 .pro 文件中添加 PDF 模块依赖:QT += core gui pdf # 添加 pdf 模块注意:独立 pdf 模块的起始版本是Qt 5.15,建议需要 PDF 功能的开发者优先选择此版本或更高版本
2025-05-05 17:14:34
1046
原创 volatile 关键字应用大全
volatile 关键字应用大全 嵌入式开发可能经常会遇到一个“神秘”关键字——volatile。很多软件开发的朋友可能一辈子都用不到它,但在嵌入式领域,这家伙可是个不可或缺的“救命稻草”。今天,咱们就来聊聊volatile到底是个啥,为啥它在嵌入式开发里这么重要,以及怎么用才能不踩坑!
2025-05-05 17:13:03
858
原创 void指针为何能幻化有数据类型?
void指针为何能幻化有数据类型?1.void指针void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据。和用int表示指针异曲同工,只是更明确是“指针”。因此void *只能表示一个地址,不能用来&取值,也不能++和--移动指针,因此不知道多少字节是一个数据单位。
2025-04-26 19:36:34
1015
原创 QT跨平台软件开发要点
QT跨平台软件开发要点一、Qt跨平台开发核心优势1.统一代码基 通过Qt的抽象层(Qt Platform Abstraction, QPA),同一套代码可编译部署到Windows、macOS、Linux、嵌入式系统(如ARM设备)甚至移动端(通过Qt for Android/iOS)。
2025-04-26 19:27:44
1364
原创 C++跨平台开发要点
C++跨平台开发要点一、跨平台开发核心原则1. 分层架构设计 - 平台抽象层 (PAL):封装系统调用(文件、网络、线程) - 核心逻辑层:完全平台无关的业务代码 - UI/呈现层:选择跨平台渲染方案(如OpenGL、Vulkan)
2025-04-24 20:10:52
761
原创 Windows下QT打包后程序运行后弹出CMD命令窗口的问题解决方法
Windows下QT打包后程序运行后弹出CMD命令窗口的问题解决方法QT在Debug或者Release模式下运行程序不会出现CMD命令窗口;但是经过打包后生成一个.exe程序后,运行时会伴随一个cmd窗口,而且还不能关闭,如果关闭了就程序也关闭了。本文给出了具体解决方法。
2025-04-24 20:03:29
436
原创 跨平台软件开发探讨
跨平台软件开发探讨一、跨平台开发核心思路1. 代码复用最大化 通过抽象平台差异实现核心逻辑复用,理想情况下70%+代码可复用,仅30%处理平台特性。2. 分层架构设计 业务逻辑层:完全平台无关(C++/Rust) 平台适配层:封装系统API(如文件操作、网络) UI呈现层:使用跨平台渲染方案3.持续集成/交付(CI/CD) 自动构建多平台安装包,典型工具链: GitHub Actions + CMake + Conan + AppVey
2025-04-23 20:09:21
928
原创 百万点数组下memset、memcpy与for循环效率对比及原理分析
百万点数组下memset、memcpy与for循环效率对比及原理分析做上百万数组赋值及拷贝的时候,不得不考虑效率问题,一般计算机低于十万的数组赋值拷贝基本不用考虑效率问题(基本在1毫秒内完成),本文会对百万以上的数组下赋值及拷贝进行效率分析和对比。结论:memset和memcpy是for循环时间的40%~50%,也就是效率能提升一倍。
2025-04-23 20:06:15
690
原创 FPGA 中 XSA、BIT 和 DCP 文件的区别
FPGA 中 XSA、BIT 和 DCP 文件的区别在 FPGA(现场可编程门阵列)开发中,XSA、BIT 和 DCP 文件是常见的文件类型,它们在功能、用途、文件内容等方面存在明显区别,本文具体讲述。
2025-04-21 20:17:42
821
原创 ZYNQ实现无DDR加载程序运行方法
ZYNQ实现无DDR加载程序运行方法最近项目遇到一个问题,用了一片XC7Z7020,由于功能简单没有外扩DDR,导致自动生成的fsbl.elf文件无法引到jtag烧写bin文件到flash,修改vitis生成的sdk后解决了此问题,本文讲述具体方法。
2025-04-21 20:12:41
328
原创 用MSYS2在windows下编译gsl-2.8库用于vs2022调用
用MSYS2在windows下编译gsl-2.8库用于vs2022调用MSYS2 是一个为 Windows 系统提供 Unix 环境的软件开发平台,基于 MinGW 和 MSYS 项目,旨在简化跨平台开发流程。官网:https://www.msys2.org/
2025-04-08 20:47:46
758
原创 MSYS2功能、用途及在win10下安装
MSYS2功能、用途及在win10下安装MSYS2 是一个为 Windows 系统提供 Unix 环境的软件开发平台,基于 MinGW 和 MSYS 项目,旨在简化跨平台开发流程。官网:https://www.msys2.org/
2025-04-06 19:58:54
800
原创 嵌入式C语言宏定义的19个巧妙应用
嵌入式C语言宏定义的19个巧妙应用C语言编程,写好宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。
2025-04-06 19:56:04
833
原创 QCustomPlot绘制曲线-让x轴在左侧,y轴在下方的方法
QCustomPlot绘制曲线-让x轴在左侧,y轴在下方的方法 在某些特殊情况下,比如显示两张图坐标要对齐,有的图会需要x、y轴对调,但是如果简单把x、y轴的数据对换及坐标范围对换,曲线显示会不对,本文给出解决方法。
2025-04-02 17:58:12
413
原创 QCustomPlot封装类绘制曲线,可伸缩及游标显示XY值
QCustomPlot封装类绘制曲线,可伸缩及游标显示QCustomPlot绘制曲线后有时候需要鼠标滚轮放大缩小,移动图形,同时可能需要数据游标显示,本文会在QCustomPlot库基础上做一层封装,让这些功能实现起来更加简单。
2025-04-02 17:55:38
674
QT实现升级进度条页面
2024-09-22
keil下自定义lib静态库工程
2024-06-22
Qt中接收麦克风数据并保存为WAV文件
2024-06-04
QT6实现usb摄像头的显示与抓拍功能
2024-01-07
QT6实现音频输出功能
2024-03-29
QPainter绘制图形代码示例.zip
2024-02-19
QT5.12实现多线程代码示例
2024-02-18
QT中动态库制作及调用
2024-01-14
QT通过QPdfWriter类实现pdf文件生成与输出完整工程示例
2024-01-13
Qwt库画Spectrogram频谱图工程代码
2024-01-01
USB通讯程序开发调试工具
2023-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人