自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gitlab中怎么创建MR提交模板

【代码】gitlab中怎么创建MR提交模板。

2026-07-22 11:28:02 306

原创 新入职人必看:互联网软件工程师“黑话”大全(英文缩写 + 中文行话),让你不再一脸懵!

大家好,我是一名新晋互联网打工人。入职第一天,我信心满满地走进会议室,结果听到产品经理说:“这个项目的OKR要 align 一下,RD和FE把PRD过一遍,QA记得跑UATOP注意SOCQ1的DAU目标要达成……”我当场就懵了,那一刻,我感觉自己像个外星人,明明大家都是中国人,说的话我却一句都听不懂。好不容易熬过一个月,把英文缩写都背熟了,结果又听到老板说:“这个需求要拉通一下,对齐各方的颗粒度,找到抓手来赋能业务,后续做好复盘和沉淀……”我又懵了——拉通?抓手?赋能?这都什么跟什么?

2026-07-09 17:35:42 405

原创 VSCode 中 Markdown 转 PDF

适合需要书签和专业排版的场景:适合快速轻量的转换从此,您可以在 VSCode 中顺畅地将 Markdown 转换为精美的 PDF 文档,无论是学习笔记、技术博客备份还是项目交付物,都能轻松应对。如果您在操作过程中遇到任何其他问题,欢迎在评论区留言交流!🎯 拓展阅读Markdown Preview Enhanced 官方文档Prince XML 高级用法。

2026-07-08 09:58:48 583

原创 手把手教程:用 auto-py-to-exe 将 Python GUI 程序打包成 exe(超详细图解)

关键词:Python打包、PyInstaller、auto-py-to-exe、Tkinter、GUI程序、exe制作🎯 前言你是不是也有这样的经历:用 Python 写了一个很棒的 GUI 工具,想分享给同事或朋友使用,但他们没有安装 Python 环境?或者你不想每次都打开 IDE 运行代码?今天我要分享一个超简单、超好用的打包工具——auto-py-to-exe,它能让你轻松将 Python 脚本转换为独立的可执行文件!📦 什么是 auto-py-to-exe?

2025-12-09 16:32:43 1692

原创 Qt字符串转换避坑指南:fromStdString/toStdString/toString一篇搞懂

在Qt开发中,字符串转换是高频操作,但。

2025-11-11 17:02:51 536

原创 快速上手公司Qt项目代码:从入门到精通的实战指南

作为一名刚接触公司Qt项目的开发者,面对庞大的代码库往往会感到无从下手。本文结合Qt框架特性与实战经验,整理出一套高效的代码上手方法论,帮助你快速理清项目脉络、掌握核心逻辑,减少适应期成本。

2025-10-29 14:59:16 701

原创 UDC否定响应码学习

在UDS(Unified Diagnostic Services,统一诊断服务)协议中,当诊断仪向ECU发送请求后,ECU可能返回否定响应,表示无法执行请求。否定响应有固定的报文格式。

2025-08-27 10:40:24 752

原创 深入浅出UDS:现代汽车诊断的核心协议

UDS作为汽车诊断领域的“通用语言”,其结构化的6大类26种服务共同构成了一个功能强大、灵活且安全的体系。随着汽车电子化、智能化程度不断提高,UDS的重要性愈发凸显。理解UDS协议,对于从事汽车研发、测试、售后维修以及相关技术爱好者而言,已成为一项不可或缺的核心技能。欢迎在评论区留言讨论!

2025-08-26 15:38:34 680

原创 深入浅出理解动态链接库(DLL)

动态链接库的英文全称是,在 Windows 世界裡,它的文件扩展名通常是.dll。你可以把它想象成一个公共代码仓库。函数:比如计算、加密、文件操作等功能的代码块。类:面向对象编程中的类定义。资源:如图标、图片、字符串、对话框模板等。驱动程序:与硬件通信的代码。它的核心思想是“共享”和“动态”。多个应用程序可以共享使用同一个DLL文件,而“链接”这个操作发生在程序运行时(动态),而非编译时。动态链接库是现代操作系统的基石之一,它通过共享和运行时链接。

2025-08-26 14:49:04 1040

原创 编译与链接学习

阶段 | 输入 | 输出 | 核心任务 | 常见命令 (GCC) |编译main.c(源代码) |main.o(目标文件) | 翻译单个文件,生成机器码,但存在未解决的引用 |链接main.omath.olibsa.out(可执行文件) | 合并所有模块,解析符号分配最终地址但背后依然是先逐个编译,再统一链接的过程。编译错误:通常是语法错误,比如漏了分号、拼错关键字。发生在gcc -c阶段。链接错误:通常是,意味着找不到函数或变量的定义。发生在链接阶段。

2025-08-26 14:00:53 1016

原创 正则表达式学习(基础)

这张图几乎涵盖了正则表达式最核心、最常用的语法。学习顺序:先理解元字符(是什么),再掌握限定符(有多少),然后用或运算符和字符类构建更复杂的关系,最后在需要精确控制时使用懒惰匹配。如何练习一定要动手!打开或regexr.com,把例子输进去,自己修改、测试,观察结果。这是最快的学习方法。常见用途验证字符串^\d{11}$(11位数字)提取信息(从日志中提取年月日)替换文本:将\bMr\b替换为Mr.(确保Mr后面有点)别怕:它看起来像乱码,但其实逻辑清晰。分解。

2025-08-25 18:01:56 1486

原创 蓝牙部分解析和代码建构

QT6.9版本,msvc2022编译器。BLE低功耗蓝牙通信扫描、连接、通信功能。

2025-08-22 15:09:06 722

原创 QT中的trimmed() 方法(1)

是 Qt 框架 中 类提供的一个方法,用于 去除字符串首尾的空白字符(whitespace characters)。它的作用类似于标准 C++ 中的 的 操作,但专为 Qt 的字符串设计。移除字符串开头和结尾的所有空白字符,包括:空格 ()制表符 ()换行符 (、)其他 Unicode 空白字符(如全角空格)不会修改字符串内部的空白字符。返回一个新的 ,是原字符串去除首尾空白后的副本。原字符串不会被修改(因为 是隐式共享的)。3. 示例4. 对比其他相似方法方法作用是

2025-08-08 13:55:33 739

原创 用 Enigma Virtual Box 把 Qt 程序压成单文件 EXE——从编译、收集依赖到一键封包

关键词:Qt、windeployqt、Enigma Virtual Box、单文件、绿色软件。

2025-08-07 15:15:42 801

原创 C++中的默认函数学习

在函数声明时,给某些参数预先设定一个默认值。调用函数时,如果省略这些参数,编译器会自动使用默认值。

2025-08-06 11:22:30 353

原创 学习的智能硬件QT教程笔记——(4)信号与槽学习

右键点击转到槽,在里面选择合适的信号,这里选择点击,即点击控件执行函数,(所执行的函数需要写在下图中的函数体中)。此时代码中会自动在设置的.ui文件对应的.cpp和.h文件中添加相应的槽函数。connect();// 连接信号与槽 (谁发出信号 发出什么信号(宏) 谁处理信号 怎么处理信号)链接:https://pan.quark.cn/s/e69d78830a0d?启动新进程,需在.h头文件中包含相应的类( #include )打开「夸克APP」即可获取。

2025-08-04 14:34:19 282

原创 为什么要烧录固件?——从生产到运维的全流程解析

烧录固件(Firmware)是嵌入式系统和电子设备开发、生产、维护中的关键步骤,其核心目的是。STM32单片机的固件决定了它是控制电机,还是处理CAN总线数据。

2025-07-30 11:26:18 1406

原创 Bootloader简介(自学)

Bootloader(引导加载程序)在汽车电子系统中扮演着**“唤醒大脑” + “软件快递员”**的角色。

2025-07-29 19:42:48 626

原创 C++ 结构体struct学习

元素描述关键作用是否必须?成员变量结构体存储的数据项描述对象的状态核心,通常有成员函数操作成员变量的函数封装操作、实现对象行为常见,推荐使用构造函数特殊函数,对象创建时自动调用初始化对象状态强烈推荐有(至少默认)析构函数特殊函数,对象销毁时自动调用清理资源(内存、文件等)需要管理资源时必须访问说明符publicprivateprotected控制访问权限,实现封装良好设计推荐使用静态成员static变量/函数,属于结构体本身而非实例共享数据、提供类级别工具函数按需使用嵌套类型。

2025-07-22 15:36:46 821

原创 学习的智能硬件QT教程笔记(3)——QT的开发工具 QT Creater

创建项目见视频,基本都是点下一步,其中注意要创建ui。

2025-07-22 15:25:37 1203

原创 (qt代码解释1)代码解释:private: Ui::Widget *ui

的私有指针,用于在代码中操作你在设计器里拖出来的控件。,它包含了你在设计器里添加的所有控件的指针(例如。在这个头文件里,定义了一个命名空间。创建一个界面文件(如。

2025-07-22 14:07:08 321

原创 学习的智能硬件QT教程笔记(2)——QT的编译

​ 在智能硬件开发中,QT作为一款强大的跨平台C++图形用户界面应用程序框架,其重要性不言而喻。

2025-07-22 11:26:02 788

原创 Keil运行报错 :L6123E

问题。解决方法是,删除.c或.cpp中include的.c文件。总结就是遇到的问题是典型的。

2025-07-21 18:02:40 624

原创 # 条件编译`#ifdef`、`#ifndef`等补充

/ 编译时定义宏:g++ -DUSE_OPTIMIZED_VERSION=1 main.cpp// 优化版本#else// 基础版本#endif。

2025-07-21 10:22:27 482

原创 C++ 中的 `#ifndef` 和 `#endif` 详解 (c++学习 )

C++ 中的 和 详解在 C++ 中, 和 是预处理指令,用于条件编译。它们共同构成了 C/C++ 程序中防止重复包含头文件的核心机制。工作原理首次包含头文件:后续包含头文件:避免重复定义错误:提高编译效率:防止循环包含:宏命名的通用规范命名格式:(全大写)示例: → → → 其他常见用法1. 功能开关编译时可通过 禁用日志功能3. 调试模式控制与 的比较特性/标准支持C/C++ 标准编译器扩展可靠性10

2025-07-19 17:59:55 714

原创 c++结构体语法

在 C++ 中,结构体(struct)是一种用户自定义的数据类型,用于将不同类型的数据组合成一个单一的类型。

2025-07-19 15:13:36 908

原创 Keil 中代码缩进规则总结.md

Keil μVision IDE中代码缩进主要依赖手动控制,建议采用4空格缩进(而非Tab)以保持一致性。遵循层级缩进原则,函数体、条件语句、循环等代码块需增加一级缩进。推荐使用K&R大括号风格({不换行)。通过Edit→Configuration设置Tab为4空格并勾选"Insert spaces for tabs"。避免混用空格和Tab,复杂表达式可手动对齐。全项目应保持统一缩进风格,必要时可用Astyle等工具辅助格式化。

2025-07-19 14:58:55 689

原创 &在C++中的语法格式

C++中&符号有三种主要用法,各有严格语法规范:1) 取地址运算符&var(无空格);2) 引用声明Type& ref(类型后无空格);3) 位与运算a & b(前后加空格)。Keil等嵌入式环境特别强调区分引用声明和位与运算的格式差异,避免混淆。最佳实践要求取地址和引用声明时&紧贴标识符,位与运算保留空格,项目内保持风格统一,必要时用括号明确优先级。错误格式如& var或Type & ref会导致代码规范问题。

2025-07-19 14:34:12 830

原创 高效地学习和掌握 Qt Creator

放在可执行文件同级目录,或通过。:分析头文件包含关系,避免冗余。

2025-07-17 20:28:46 713

原创 C++ 中,运算符 .、::、: 和 -> 的区别

C++中主要运算符的区别:.用于对象实例访问成员(如obj.member);::用于作用域解析,访问命名空间或类成员(如Class::staticVar);:用于初始化列表、继承和标签等语法;->用于指针访问成员(如ptr->member)。关键区别在于:.操作对象实例,::操作作用域,:是语法标记,->操作对象指针。ptr->member等价于(*ptr).member,而静态成员需用::访问。

2025-07-17 20:21:09 615

原创 (一)QCustomPlot 控件---QT Creater控件学习(自学)

中正确声明 QCustomPlot 的头文件。是 Qt 框架中一个功能强大的。

2025-07-17 19:47:58 1360

原创 面向过程和面向对象编程(自学)

摘要: 面向过程(POP)和面向对象(OOP)是两种编程范式。POP关注“步骤”,将任务分解为线性执行的函数(如菜谱步骤),适合简单逻辑。OOP关注“对象协作”,将数据和操作封装为独立对象(如厨师、锅具等),通过交互完成任务,支持封装、继承、多态,更适合复杂系统。关键区别在于:POP强调“怎么做”(函数流程),OOP强调“谁来做”(对象职责)。POP直接高效但难维护,OOP结构清晰但稍复杂。现代开发以OOP为主,但POP仍用于脚本或性能敏感场景。理解两者差异对编程思维至关重要。

2025-07-17 19:45:16 878

原创 快速理解和学习现有Qt Creator 项目

快速理解和学习现有Qt Creator 项目

2025-07-17 19:40:44 897

原创 Qt Creator 中开发一个软件的完整流程和文件层级结构

本文介绍了在Qt Creator中开发软件的基本流程和文件结构。开发步骤包括:创建项目(选择模板、设置路径和模块)、设计界面(拖拽控件、修改属性)、编写代码(声明变量、实现功能)、编译运行和调试。项目文件结构主要包含Headers、Sources、Forms、Resources文件夹和.pro配置文件。文章还详细说明了关键文件的作用,如.pro项目配置、main.cpp程序入口和UI文件关联方式,并提供了新手常见问题的解决方案(如控件查找、程序崩溃处理等)和学习建议(从基础功能入手、查阅文档)。

2025-07-17 19:38:40 1656

原创 嵌软——操作系统

在嵌入式系统领域的面试中,关于操作系统的问题通常涉及操作系统的理论知识、实际应用以及与特定硬件平台的集成。

2024-09-28 11:30:42 1222

原创 git常用指令

Git是一个分布式版本控制系统,它帮助开发者跟踪和管理代码变更。这些命令覆盖了Git版本控制的大多数常见操作。掌握这些命令对于日常的版本控制工作非常有帮助。

2024-09-28 11:22:01 453

原创 嵌入式面试———C常见问题

数组是在创建时大小就固定的数据结构。例如,定义一个整数数组:c定义和使用在C语言中,数组是一种基本的数据结构,用于存储固定大小的相同类型的元素序列。数组的声明包括指定元素的类型和数组的长度。特点固定大小:数组的大小在声明时确定,并且不能改变。零索引:数组的索引从0开始。连续内存:数组元素在内存中是连续存储的。相同类型:数组中的所有元素必须是相同的数据类型。可以是多维的:可以定义多维数组。malloc()malloc()联合体(union):不同的数据共享同一块内存空间。结构体(

2024-09-28 11:21:18 1644

原创 嵌入式面试——常见排序

冒泡排序是一种简单的排序算法,它重复地遍历待排序的列表,比较每对相邻元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复进行的,直到没有再需要交换的元素为止,这意味着列表已经排序完成。选择排序是一种简单直观的排序算法。它的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。快速排序是一种分而治之的排序算法,它通过一个轴点将数据分为两部分,对左右两部分递归进行快速排序。在实际应用中,选择哪种排序算法取决于数据的特性和算法的性能要求。

2024-09-28 11:19:54 783

原创 嵌入式面试--C/C++

面试救急

2024-09-28 11:09:57 1109

原创 嵌入式面试——操作系统(gpt版本)

在嵌入式系统领域的面试中,关于操作系统的问题通常涉及操作系统的理论知识、实际应用以及与特定硬件平台的集成。

2024-09-17 14:14:51 1638 1

空空如也

空空如也

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

TA关注的人

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