自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QGC Android编译:解决GStreamer自动下载失败问题

在Windows上使用Qt Creator为QGroundControl(QGC)编译Android版本时,CMake配置过程经常卡在GStreamer自动下载步骤。本文介绍如何使用CMake官方提供的方法,通过本地已有的GStreamer库绕过网络下载,解决配置失败问题。如果变量名大小写不对或名称错误,CMake会忽略该变量,仍然尝试网络下载。这正是CMake官方文档描述的"让CMake使用本地已有源码"的标准方法。下载预编译包,而国内网络环境访问该地址不稳定,导致下载失败。

2026-04-08 08:28:03 318

原创 QGC 无人机视频卡顿、拉流失败?一行 FFmpeg 参数解决!

在使用RTSP 视频拉不出来画面一直卡顿、花屏、黑屏内网能看、公网 / 服务器转发就卡死不知道 QGC 视频源到底怎么配置90% 的问题都出在传输协议上。QGC 视频源原理 + FFmpeg 稳定拉流推流命令,复制粘贴就能用。QGC 无人机视频源 = RTSP/UDP 等流媒体地址RTSP 默认 UDP 必卡,必须强制 TCPFFmpeg 拉流推流,前后都加就稳了。

2026-03-16 17:05:21 295

原创 Qt 中 QML 与 C++ 通信实战:从基础调用到信号槽异步交互

在 Qt 开发中,QML 擅长快速构建直观的 UI 界面,而 C++ 则负责处理高性能、复杂的业务逻辑,二者结合是 Qt 跨平台开发的核心优势。同步函数调用和信号槽异步交互,并附带定时器扩展功能(2 秒自动清空文本),所有代码可直接编译运行。QML 与 C++ 通信核心前提:C++ 类必须继承QObject并添加Q_OBJECT宏,通过暴露到 QML 上下文;两种通信方式同步:QML 调函数,同步等返回值(适合快逻辑);

2026-02-12 16:19:04 663

原创 Linux 编译工具全家桶:GCC/G++、Makefile、CMake 从入门到实战

GCC/G++是编译执行者,掌握等核心选项。Makefile是自动化构建脚本,核心是规则、变量、模式规则、增量编译。CMake是现代跨平台构建工具,通过生成 Makefile,适合工程化项目。

2026-02-04 10:42:41 579

原创 内核开发与调试从入门到实战:Linux 内核全流程学习指南

的形式进行 —— 模块是可动态加载 / 卸载的内核代码,无需重新编译整个内核,大幅提升开发效率,是内核开发的主流方式。硬件调试方案 —— 通过 JTAG 调试器连接硬件的 JTAG 接口,实现对物理 CPU 的调试,支持断点、单步、内存查看等功能,与 GDB+QEMU 调试方式类似,但针对物理硬件。,是内核开发中最基础、最常用的调试手段,无需额外调试环境,直接通过内核日志输出信息,适合快速定位问题范围。等功能,完全模拟硬件环境,且不会因调试错误导致物理机崩溃,是内核开发调试的首选。

2026-02-04 10:26:12 811

原创 CUDA 入门到实战:GPU 并行计算学习全攻略

CUDA(Compute Unified Device Architecture)是 NVIDIA 推出的通用并行计算平台与编程模型,允许开发者使用类 C/C++ 语言调用 NVIDIA GPU 的并行计算核心,执行大规模并行任务。

2026-02-04 10:20:04 786

原创 从零开始学习 OpenCL:异构并行计算入门全攻略

在 AI 推理、图像处理、科学计算等计算密集型场景中,异构并行计算已成为性能提升的核心方案。OpenCL 作为跨平台、跨硬件的开放并行计算标准,能让同一套代码在 CPU、GPU、FPGA、DSP 等设备上运行,无需针对不同硬件重写逻辑。本文从基础概念、环境搭建、代码实战到进阶优化,带你系统性入门 OpenCL 开发,适配零基础开发者与并行计算初学者。OpenCL(Open Computing Language)是基于 C99 扩展的内核编程语言,用于编写设备端并行执行代码。

2026-02-04 10:16:50 1377

原创 MAVLink 通信协议 C++ 开发实战:从环境搭建到飞控通信全解析

MAVLink(Micro Air Vehicle Link)是一款轻量级、低带宽、高可靠性的微小型无人机通信协议,由 PX4 团队主导设计,广泛应用于无人机、无人车、机器人等嵌入式系统的跨设备通信场景。其核心优势在于专为资源受限的硬件(如 MCU、小型嵌入式板卡)优化,采用二进制编码格式,相比 JSON、XML 等文本协议,传输效率提升数倍,同时支持数据校验、重传机制,能在复杂电磁环境下保证通信稳定性。从 MAVLink 协议核心原理出发,结合 C++ 语言实现完整的通信流程,涵盖。

2026-02-03 11:43:29 1085

原创 路径规划算法开发:从理论基础到 C++ 实战落地(附完整可运行代码)

路径规划算法开发的本质,是将 “现实环境” 抽象为 “可计算模型”,通过算法策略搜索最优路径,再映射回现实场景执行。C++ 开发需额外关注内存占用、运行效率环境建模:将现实空间抽象为计算机可处理的模型,常用两种方式 —— 栅格地图(适合二维简单场景,如室内 AGV)、点云 / 连续空间(适合三维复杂场景,如无人机、自动驾驶)。C++ 开发建议用 vector 容器存储地图数据,避免动态数组内存泄漏。约束条件。

2026-02-03 11:14:22 642

原创 Windows 系统 Qt 下载、安装与环境配置全教程

Qt 是一款跨平台的 C++ 图形用户界面应用程序开发框架,凭借丰富的控件库、便捷的跨平台特性和强大的 Qt Creator 集成开发环境,成为桌面端、嵌入式端开发的主流选择。本文将从Qt 版本选择官网下载分步安装环境变量配置编译工具验证到第一个 Qt 程序运行,全程手把手教你完成 Windows 系统下 Qt 的全套配置,零基础也能轻松上手!下载:官网在线安装包,注册登录后下载,优先选择 Qt 5.15.2 LTS 版本;

2026-01-30 17:12:55 1271

原创 Qt 实战:从零开始,使用 Qt 进行安卓开发

在跨平台开发领域,Qt 凭借「一次编写,多平台编译运行」的优势,成为 C++ 开发者开发安卓应用的优选方案。无需深入学习 Java/Kotlin,即可复用桌面端业务逻辑,大幅降低开发与维护成本。本文摒弃纯理论讲解,全程搭配完整可运行的极简示例,从环境配置到最终打包,带你完整走通开发流程,新手也能快速上手。本文通过完整的极简示例,完整覆盖了 Qt 安卓开发从环境搭建、代码编写、真机调试到打包发布的全流程。该示例无平台兼容问题,可作为你后续复杂项目的基础模板。

2026-01-28 10:24:49 1733

原创 从零开始学 Qt Quick:新手入门全攻略

在跨平台 UI 开发领域,Qt 一直是开发者的优选方案。传统 Qt Widgets 擅长桌面端功能性界面开发,而Qt Quick作为 Qt 主推的现代化 UI 框架,凭借 QML 声明式语法、流畅的动画效果和出色的跨平台适配能力,成为移动设备、嵌入式大屏、车载仪表、智能家居面板等场景的主流开发技术。本文面向 Qt Quick 零基础开发者,从核心概念、环境搭建、基础语法到简单实战,带你快速入门 Qt Quick,搞定现代化跨平台 UI 开发。Qt Quick 是 Qt 框架自Qt 4.7。

2026-01-28 10:11:25 1049

原创 Git 从入门到精通:版本管理、分支协作与问题追踪全流程实战

在现代软件开发中,Git已经成为了代码版本管理的事实标准。无论是个人开发还是团队协作,掌握 Git 不仅能让你避免 “删库跑路” 的尴尬,还能极大地提升团队的开发效率。本文将从最基础的安装配置,到核心的分支管理策略(Git Flow),再到结合进行团队协作与 Issue 问题追踪,为您带来一站式的 Git 实战教程。mastermain: 主分支,存放生产环境代码,随时可部署。develop: 开发分支,团队日常开发的集成分支。feature/*: 功能分支,用于开发新需求(如bugfix/*

2026-01-26 16:17:12 1108

原创 PX4 开源飞控深度解析:从架构到二次开发(超详细)

基于 NuttX RTOS,实时性强模块化架构,易于扩展uORB 消息总线,模块解耦强大的多传感器融合能力原生支持避障、精准悬停、自主飞行活跃的社区和丰富的文档如果你需要开发高性能、高可靠性的无人机系统,PX4 是最佳选择。

2026-01-26 11:08:41 1600

原创 ArduPilot 开源飞控深度解析:从架构到二次开发(超详细)

跨载体支持(多旋翼、固定翼、车、船、水下机器人)完善的 HAL 层,适配多种硬件清晰的代码结构,适合二次开发强大的社区支持和丰富的文档稳定可靠,适合科研和产品开发。

2026-01-26 11:07:13 656

原创 ArduPilot/PX4 开源飞控架构全解析(附开发实战指引)

ArduPilot(APM)和 PX4 是无人机领域最主流的两大开源飞控固件,覆盖消费级、工业级无人机全场景。能快速定位飞控功能开发的入口,避免 “盲人摸象”;掌握不同飞控的设计理念,选择适配自己场景的方案;高效进行二次开发(如新增传感器适配、自定义飞行模式);排查飞控运行异常、优化飞行性能。本文将从核心架构设计、代码组织、任务调度、模块通信四个维度,深度拆解 ArduPilot 和 PX4 的架构差异,并给出开发实战指引。

2026-01-26 10:37:56 2353

原创 【深度解析】QGroundControl (QGC) 源码结构与完整开发流程(附环境搭建 + 调试技巧)

QGC 采用模块化 + MVVM 架构,核心目录包括src/(C++ 逻辑)、src/qml/(QML 界面)、Vehicle/(无人机载体)、CommLink/(通信),需重点掌握这几个模块的作用;QGC 开发环境搭建的核心是 “匹配 Qt 版本 + 拉取完整子模块”,编译失败多因依赖缺失或版本不匹配;QGC 二次开发遵循 “确认 C++ 数据接口→QML 绑定显示→编译调试→测试验证” 的流程,核心是利用Q_PROPERTY实现 C++ 与 QML 的数据双向绑定。

2026-01-26 10:31:58 1311

原创 【QML 入门到实战】从零开始搭建第一个 QML 界面(附完整代码)

QML 是 Qt 框架的声明式界面语言,核心优势是简洁、跨平台、交互性强,适合构建现代化 UI;开发 QML 界面的核心步骤:搭建 Qt 环境 → 新建 Qt Quick 项目 → 编写 main.cpp(加载 QML) → 编写 main.qml(界面布局) → 运行调试;QML 的核心语法是 “元素 + 属性 + 信号槽”,通过锚点布局(anchors)可快速实现元素的位置控制,事件处理通过on+信号名实现。

2026-01-26 10:25:15 1600

原创 Windows 下 C++ 获取系统内存占用百分比(与任务管理器一致)

原汁原味:完全保留你提供的代码逻辑和格式,无任何修改;精准可靠:基于系统原生 API,数值与任务管理器一致;易于使用:代码量少、无依赖,可直接编译运行或集成到其他项目。

2026-01-23 16:13:17 405

原创 Windows 下 C++ 实现 CPU 使用率实时监控(PDH API 版)

本文基于 Windows PDH API 实现了轻量、高效的 CPU 使用率监控功能,代码模块化程度高,可直接复用。核心要点包括:PDH 初始化预热、正确选择计数器路径、数值格式化与异常过滤。该方案相比第三方库更轻量化,相比 WMI 查询更高效,是 Windows 平台 CPU 监控的优选方案。

2026-01-23 14:09:41 1153

原创 一招解决 Windows C/C++ 控制台中文乱码:SetConsoleOutputCP (CP_UTF8)

解决 Windows C/C++ 控制台中文乱码的最优解;进阶:可选设置控制台字体提升显示效果;

2026-01-21 17:58:59 763

原创 C++ 实现【精准可控】内存占用测试工具(指定内存大小,实打实占用物理内存,亲测可用)

在做程序性能验证、硬件资源测试、帧率影响实验(比如验证内存占用量对摄像头 / 图像处理 / 算法推理帧率的影响)时,我们经常需要人为、精准的占用指定大小的内存空间,以此模拟不同的内存负载环境。Windows 自带的内存查看工具仅能观测内存使用情况,无法主动占用内存;专业的内存测试软件功能繁杂、附带多余进程易干扰实验数据,因此手写一个轻量级、无依赖、可精准指定内存占用大小的内存压力测试工具,是做实验验证、课程设计、性能测试的最优解。本文分享的内存占用工具基于C++ 标准库开发,支持。

2026-01-20 11:41:04 665

原创 C++ 实现【精准可控】CPU 压力测试工具(指定占用率 + 多核控制,亲测可用)

在做程序性能验证、硬件负载测试、帧率影响实验(比如验证 CPU 占用率对摄像头 / 图像处理帧率的影响)时,我们经常需要人为、精准的控制 CPU 的占用率和核心使用数,而不是单纯的让 CPU 跑满。Windows 自带的工具无法精准控制 CPU 负载百分比,专业的压力测试软件又过于臃肿、附带多余功能容易干扰实验,因此手写一个轻量级、可控性强、无任何依赖的 CPU 压力测试工具是最优选择。本文分享的这款 CPU 压力测试工具基于C++11 线程库开发,支持自定义 CPU 占用率(0~100%)

2026-01-20 11:37:53 774

原创 C++ 实现摄像头监控 + CPU / 内存 / FPS 实时监控(精准显示 + 无闪烁 + 完整源码)

在做性能测试、图像处理相关开发时,经常需要实时监控程序运行时的CPU 使用率、内存占用、摄像头帧率 (FPS)三个核心指标,直观反馈硬件负载与程序运行效率。本文将分享一套完整、可直接编译运行、精准度拉满。

2026-01-19 17:14:06 1080

原创 C++ chrono 库精讲:steady_clock::time_point 与 duration 从原理到实战

在 C++ 开发中,我们经常会遇到精准计时、频率控制、耗时统计的需求,比如:控制界面文字 1 秒刷新一次、统计函数执行耗时、实现固定频率的任务调度、游戏帧率控制等。而 C++11 推出的<chrono>标准库,是处理时间相关需求的最优解,彻底替代了传统的time()clock()等 C 语言老旧接口。其中 **(时间点)和**(时间间隔)是<chrono>库的两大核心组件,也是日常开发中使用频率最高的两个工具,二者组合可以完美实现所有高精度计时、定时需求。本文将从。

2026-01-19 16:41:20 1359

原创 深入浅出 PID 算法:原理、实现与应用实战

PID 的核心优势:结构简单、易于实现、鲁棒性强,无需精确的系统数学模型。常见问题及解决方法稳态误差:增大积分系数 Ki​,或引入积分分离策略(偏差大时关闭积分,偏差小时开启积分)。系统震荡:减小比例系数 Kp​ 和微分系数 Kd​,增大采样周期 T。积分饱和:增加积分限幅,或采用增量式 PID。抗干扰差:对传感器数据滤波,减小微分系数 Kd​。

2025-12-26 16:09:54 3537

原创 一文读懂 Keil uVision5:嵌入式开发的 “瑞士军刀”(附核心价值 + 使用场景)

Keil uVision5 不是简单的 “代码编辑器”,而是 ARM 嵌入式开发的 “全流程解决方案”—— 它的核心优势在于对 ARM 架构的原生适配、一站式开发体验、强大的调试能力,这也是它能占据嵌入式开发主流地位的根本原因。

2025-12-25 14:09:48 1459

原创 从 0 到 1!Keil uVision5 开发 STM32 实战教程(附完整工程 + 调试技巧)

本文通过「点亮 LED」实战,覆盖了 Keil5 开发的核心流程:项目创建→代码编写→编译配置→调试下载。按键中断控制 LED;USART 串口打印;PWM 驱动蜂鸣器 / 电机;FreeRTOS 任务调度。

2025-12-25 14:05:36 1646

原创 超详细 Keil uVision5 下载安装教程(附激活 + 器件库 + 排错)

管理员权限 + 纯英文路径,这两个点踩坑率超 80%;注册机仅用于学习,商业项目务必购买正版 Keil 授权(避免法律风险);器件库按需安装,无需全装(节省硬盘空间);定期备份 Keil 安装目录(避免重装后丢失激活信息);若 Keil 启动慢,关闭不必要的组件(如 Pack Installer 自动更新)。

2025-12-25 13:34:02 8212

原创 【实战】C/C++ 实现 PC 热点(手动开启)+ 手机 UDP 自动发现 + TCP 通信全流程

本文聚焦 “手动开启 PC 热点” 场景,通过 UDP 广播实现设备自动发现,TCP 实现可靠通信,代码全程添加详细注释,兼顾可读性和实用性。无需手动配置 IP,手机连接热点即自动发现 PC;心跳保活 + 自动重连,保障通信稳定性;代码解耦,仅负责通信逻辑,热点由用户手动管理,降低权限依赖。该方案可直接应用于本地数据交互、工业控制、移动调试等场景,也可基于此扩展外网通信(如 FRP 内网穿透)。

2025-12-16 15:22:57 648

原创 VS2019 远程连接 Ubuntu 失败的解决方法

VS2019 远程连接 Ubuntu 失败的核心是SSH 服务未配置、网络不通、权限限制安装并启动 Ubuntu 的 SSH 服务;验证 Windows 与 Ubuntu 的网络连通性;核对 SSH 端口、用户名 / 密码;开启 root 用户的 SSH 登录权限。通过以上步骤,即可稳定建立 VS2019 与 Ubuntu 的远程连接,顺利进行跨平台开发。

2025-12-04 14:07:05 953

原创 Ubuntu 16.04 超详细 MySQL 安装配置教程(含可视化与 C++ 开发环境)

镜像源配置与环境准备;服务端、客户端及开发依赖安装;安全选项优化与服务测试;可视化工具部署;远程连接两种配置方案;C++ 开发环境配置(VS2019)。

2025-12-03 19:37:30 1337

原创 Ubuntu 16.04 安装配置 MySQL 数据库(含远程连接与可视化工具)

服务端与客户端的安装验证;安全选项优化;可视化工具部署;远程连接配置。

2025-12-02 16:11:51 1188

原创 【MySQL 基础】为什么安装 MySQL 需要同时装 server 和 client?

MySQL 的和server 是 “数据引擎”:提供存储和计算能力;client 是 “操作入口”:提供与引擎交互的工具。只有同时安装,才能实现数据库的完整功能 —— 这也是 C/S 架构软件的典型设计逻辑。

2025-12-02 15:50:35 485

原创 Ubuntu 16.04 实现 root 自动登录

核心流程:启用 Root 密码→编辑配置文件→写入配置→重启生效;遇到 vi 方向键问题,优先用「方法 1 安装完整版 Vim」彻底解决;测试环境用 Root 自动登录,生产环境用免密码 sudo。

2025-12-01 18:44:52 837

原创 深入浅出理解 NTP 协议:网络时间同步的核心技术解析

NTP 协议作为网络时间同步的 “基础设施”,其稳定性直接影响分布式系统的日志溯源、数据一致性和安全合规性。掌握 “原理 + 配置 + 排查” 的核心能力,是运维和开发人员的必备技能。

2025-12-01 14:42:48 2079

原创 Navicat 连接 Ubuntu 远程 MySQL 数据库:从配置到实战全教程

Ubuntu 端配置 MySQL 远程访问 → Navicat 填写连接信息 → 可视化管理数据库。必须修改 MySQL 的为0.0.0.0,并授权远程用户;开放 Ubuntu 防火墙 3306 端口,否则会被拦截;旧版 Navicat 需适配 MySQL 8.0 的加密方式,切换为。按本文步骤操作后,即可通过 Navicat 便捷地管理 Ubuntu 上的 MySQL 数据库,无需在终端中编写复杂的 SQL 语句,大幅提升开发效率。

2025-11-26 11:34:40 768

原创 Ubuntu 安装 MySQL 数据库超详细教程

更新源 → 安装 mysql-server → 初始化 root 密码 → 配置远程访问 → 验证连接。MySQL 8.0 默认无密码,需手动设置 root 密码;远程访问需修改并授权用户,同时开放 3306 端口;加密方式优先用,旧客户端兼容问题可切换为。

2025-11-26 11:13:50 3555

原创 Windows VS2019 远程 Linux(Ubuntu)开发注意事项

远程开发的核心是「网络互通 + 跨系统适配 + 权限 / 同步一致性」,以下是覆盖。

2025-11-25 19:14:04 546

原创 Windows 下VS2019 远程 Linux 开发完整教程:从连接配置到项目创建(附报错解决)

VS2019 远程 Linux 开发的核心流程可概括为「Linux 端环境准备 → VS 远程连接配置 → 项目创建与编译 → 调试运行」,关键是确保 SSH 通信正常、Linux 端依赖齐全、本地智能感知关联远程头文件。通过本文的步骤,你可以在 Windows 端用 VS2019 无缝开发 Linux 项目,既能利用 VS 的强大编辑和调试功能,又能直接在 Linux 环境中运行程序,完美解决unistd.h等 Linux 专属头文件识别问题。

2025-11-25 18:14:22 1129

空空如也

空空如也

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

TA关注的人

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