自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 QTableView 头部插入或删除行后调整滚动条,保证视窗内的行不发生移动

本文介绍了在QTableView中处理头部插入/删除行时保持滚动位置稳定的方法。当在表头插入或删除行时,会导致现有行位置偏移,需要手动调整滚动条位置。对于头部插入行,计算插入前后行的像素位置差(delta_position),将滚动条当前位置加上该偏移量;对于头部删除行,则减去偏移量。通过QTimer::singleShot延迟执行滚动条调整,确保在表格重绘后进行操作。代码实现了精确控制滚动位置,避免用户视窗内容意外移动。

2025-08-05 13:56:12 33

原创 将 qt 构建为静态库

本文介绍了使用PowerShell脚本配置和构建Qt静态库的方法。主要内容包括:1)使用ps1脚本设置编译器环境变量并跳过部分模块;2)配置静态构建的关键选项;3)静态链接时需要手动添加多个系统库;4)在可执行文件中导入QWindowsIntegrationPlugin插件,并解释了其实现原理,强调应只在最终可执行文件的一个翻译单元中包含该代码。通过这些步骤可以实现Qt的静态链接,不再需要动态库插件。

2025-07-30 22:26:14 195

原创 静态链接 qt 失败

摘要 本文记录Qt静态库构建与链接过程。通过配置-static选项构建Qt静态库,需排除部分模块并手动链接依赖库(如zlib、PCRE2等)。静态链接后运行时出现缺少平台插件错误,即使部署DLL仍无效。最终成功实现静态构建并运行,详细方案可参考作者另一篇博客《将Qt构建为静态库》。文章指出Qt主流采用动态链接,静态链接可能包含重复代码且需处理复杂依赖关系。

2025-07-30 16:48:49 258

原创 stlink 将警告转换为错误导致编译失败

编译 stlink 时出现多个构建错误:在 common_legacy.c 中,ssize_t 到 unsigned int 的隐式转换导致精度丢失;chipid.c 中存在未使用变量和未初始化变量问题;同时编译器设置了严格的警告被视为错误(-Werror)选项。这些错误主要涉及类型转换、变量初始化和未使用变量等问题,导致编译失败。

2025-07-27 12:50:25 204

原创 libpostproc 已经从 ffmpeg 中移除,导致编译 ffmpeg 时没有 libpostproc

FFmpeg项目已移除libpostproc库,相关编译选项-enable-postproc也随之失效。通过查看GitHub提交记录发现,该库在2023年10月的更新中被彻底删除。目前FFmpeg源码中已找不到libpostproc目录,这一变更使得部分旧版编译配置不再适用,开发者需调整相关编译参数。

2025-07-26 00:27:59 232

原创 线性代数解释汉明码指示错误位的原理

通过集合运算和矩阵运算解释汉明码原理

2025-07-23 00:30:57 323

原创 C++ 使用 constexpr 、查表法、分治法加速位镜像翻转

本文介绍了一个用于翻转整数二进制位的模板函数实现。该实现针对不同场景进行了优化: 对于uint8_t类型,直接进行位翻转操作 对于其他整数类型,提供两种路径: 编译时计算:直接进行位翻转 运行时计算:使用预先生成的256字节翻转表,通过查表优化性能 实现还包括字节序翻转功能,确保正确性 测试用例验证了64位整数的位翻转功能,结果与预期一致,并通过计算器进行了验证。该实现充分利用了C++的模板特化和constexpr特性,兼顾了编译时效率和运行时性能。

2025-07-21 09:28:42 262

原创 定点小数与分数

8位定点小数将8位有符号整数视为分数分子,分母为2^7(128),值域为[-1, 127/128],分辨率1/128。C++中可通过Int64Fraction类实现分数运算,支持构造、化简、取整等操作。该类封装分子分母,提供化简、倒数、取绝对值等方法,通过最大公约数约分确保精度,并支持与浮点数转换。运算时需注意分母不为零,以及处理负值情况。

2025-07-20 23:56:51 450

原创 qt 中不要让 lambda 槽函数捕获信号源对象的共享指针

摘要:示例展示了Qt信号槽连接中共享指针的循环引用问题及解决方案。错误代码中lambda捕获shared_ptr导致循环引用,使QSerialPort对象无法释放。正确做法是捕获原始指针裸指针,既避免内存泄漏又保证了信号源存活期间的安全调用。相比weak_ptr方案,直接使用裸指针性能更优且能满足需求。

2025-07-11 09:30:28 209

原创 下载安装 com0com

虚拟串口工具com0com使用指南 com0com是一款开源的Windows虚拟串口驱动程序,可创建无限数量的虚拟COM端口对。安装后默认生成CNCA0和CNCB0端口对,两个端口可互相收发数据。用户可通过串口调试助手进行测试,在端口对中一个端口发送的数据会显示在另一个端口。此外还支持端口重命名(如改为COM8/COM9)、波特率模拟等功能。安装需Windows 2000及以上系统,64位系统需先启用测试签名模式。该工具常用于设备模拟、多应用共享串口等场景,配合hub4com还能实现远程串口访问功能。

2025-07-06 23:29:33 252

原创 stm32h743iit6 的 FMC 的时钟信号来源

本文介绍了使用STM32CubeMX配置FMC SDRAM时钟源的方法。首先需要在CubeMX中开启FMC外设功能,然后在时钟树配置界面选择时钟源(如PLL2R)。生成的代码会自动配置FMC时钟源,并通过HAL_FMC_MspInit函数实现具体设置。配置过程包括初始化GPIO、设置PLL2参数(如分频系数)和选择FMC时钟源。此外,还可以在SDRAM初始化时对FMC时钟进行2分频或3分频,作为最终提供给SDRAM芯片的时钟信号。

2025-07-06 00:12:59 343

原创 将浮点数转换为分数

摘要:本文介绍了double浮点数的二进制结构原理,包括符号位、指数部分和尾数部分的解析方法,并给出了规格化数和非规格化数的计算公式。同时阐述了NaN、正负无穷等特殊值的判定规则。文章还展示了一个DoubleBitView类实现,用于解析double的位结构,以及基于此构建的分数类转换实现,最后演示了将标准库的π常数无损转换为分数的示例代码,并比较了转换前后的精度差异。

2025-06-21 22:28:17 995

原创 windows11中切换到其他桌面再切回当前桌面,任务栏的WPS有好几个窗口

摘要:针对WPS在任务栏显示多个窗口预览的问题,可以通过修改注册表解决。新建.reg文件,粘贴提供的注册表内容(包含WPS各组件enable_multi_taskbar设置为0的键值),保存后运行即可。作者提供了优快云资源链接(0积分下载),并提示若链接失效可自行创建文件。(98字)

2025-06-15 00:08:33 218

原创 stm32使用freertos时延时时间间隔不对,可能是晶振频率没设置

在文件中声明一个函数作为freertos的接口在使用的 HAL 库时,实现为下面这样通过 cubemx 可以知道 stm32f407zet6 的 systick 是从 HCLK 来的和其他型号一样,前面的预分频可以选择 1 或 8所以在实现函数时使用函数来获取 HCLK 频率。接着在中添加如下宏定义110想让 systick 频率与 CPU 相同,就定义为 1, 否则定义为 0.

2025-05-15 23:43:16 507

原创 通过组策略使能长路径

【代码】通过组策略使能长路径。

2025-05-02 13:35:51 328

原创 windows的大聪明设计:不允许未定义符号

文章摘要 当C++代码中声明了未实现的函数并调用时,会导致链接错误。该问题不仅出现在可执行文件中,动态链接库也不允许存在未定义符号。解决方案是将调用函数声明为inline,这样当函数未被调用时,编译器不会将其编译进目标文件,从而避免链接错误。静态库是唯一允许存在未定义符号的情况,这与ELF文件的行为不同。

2025-04-15 21:36:29 156

原创 获取 arm-none-eabi-ld 默认使用的链接脚本

获取默认链接脚本

2025-04-15 16:56:31 323

原创 单片机中不能启用位置无关代码

在单片机中如果启用了,编译出来的可执行文件变得更大,而且下载后无法运行。在 cmake 中,可以通过如下语句启用位置无关代码。下图是去掉位置无关代码的大小。

2025-04-14 21:43:27 139

原创 windows利用pwsh解除路径长度限制

在 Windows 10 版本 1607 及更高版本中启用长路径

2025-04-01 16:58:34 336

原创 向量的投影

向量的投影和正交分解

2025-03-30 17:04:06 131

原创 证明和差化积公式

和差化积公式及其证明

2025-03-30 16:13:04 165

原创 十二平均律

介绍十二平均律是怎么计算的

2025-03-30 00:20:42 389

原创 单片机中C++的局部static变量的初始化仍然遵循控制流

执行如下测试代码执行两次test_func,在串口观察输出可以看到的构造发生在之后。使用的编译器为 arm-none-eabi-g++ ,单片机为 stm32h743iit6.

2025-03-25 00:42:19 365

原创 小学奥数中的组合学

小学奥数中的组合学

2025-03-24 00:58:35 326

原创 分段函数的复合函数

分段函数的复合函数的2道例题

2025-03-17 00:34:18 182

原创 C/C++的整型除法的商和余数

运行如下代码的结果不必多说,小学数学里就有教了。需要注意的是含有负数的情况。

2025-03-16 12:37:36 457

原创 翻译单元,储存期,作用域

在 C/C++ 中,翻译单元指的是在编译器命令行参数中传递给编译器的文件。这里的 main.c 和 main.h 都是一个翻译单元,因为都通过命令行交给 gcc 了。gcc 不会区分文件的扩展名,只要你交给它了,它都会当成一个翻译单元进行编译。编译后,一个命令行参数中的文件会形成一个 .o 文件,文件中定义的全局变量会被放到 .o 文件的 .data 段中,函数定义会被放到 .o 文件的 .text 段中,静态局部变量会被放到 .o 文件的 .bss 段中。

2025-03-16 00:19:12 407

原创 无符号整型通过调整数轴的解释方式得到补码形式的有符号整型

介绍了无符号整型怎么通过调整数轴的解释方式,从而得到补码形式的有符号整型

2025-03-09 01:54:01 182

原创 C++求解小学数学数三角形个数问题

将每个点标记出来三角形有 3 个顶点,并且两两之间有一条线段连接,并且 3 个点不在一条线段上。将各个点标记出来后,找出所有线段。在找出线段时只需找出所有最长的线段就行了,不需要把线段的子线段也找出来。例如对于线段 FH,只需找出 FH 就行了,不用把 FG 和 GH 也找出来。

2025-03-05 09:17:45 211

原创 在 vscode + cmake + GNU 工具链的基础上配置 JLINK

vscode 使用 JLINK

2025-01-21 11:05:33 1096

原创 C# 父类实现的 IEquatable<T> 接口,重写的相等性判断函数都能被子类继承

重写相等性判断方法时,如果想让对象能够在哈希表里正常工作,必须也重写 GetHashCode 方法。但是,如果重写了 Equals 方法,不重写 GetHashCode 方法,会导致明明相等的两个对象返回的哈希值不同(因为他们的引用不同),于是哈希表中的两个位置储存了两个相等的对象。在父类重写的 Equals 方法,继承的 IEquatable 接口,重写的 == ,!重写的 Equals 方法也是一种重载。这个重载是每一个 object 的子类都有的,不重写这个方法时比较的是两个对象的引用是否相等。

2023-07-22 17:10:43 546

原创 编译正点原子STM32MP157开发板uboot源码

路径为将这个压缩包发送到虚拟机中解压,删除压缩包结果如下。

2023-04-06 23:58:19 1704 2

原创 正点原子STM32MP157烧写官方出厂镜像

将拨码开关拨到000,点击复位按钮,然后烧写器点击连接,然后就可以下载了。同时,点击下方的蓝色Browse按钮,将路径设置为正点原子的固件包目录。使用ST烧写器打开flashlayout目录下的tsv文件。然后将拨码开关拨为010,点击复位,在终端中观察输出。中就是官方出厂镜像。成功启动linux系统。

2023-04-06 23:12:40 1079

原创 html —— label 标签

构建如下页面

2023-02-20 22:32:15 843

原创 visual studio 设置格式化文档快捷键

visual studio 自动格式化代码。通过设置快捷键为 F2 ,方便使用。

2023-02-19 18:47:52 1574 1

原创 VC++ 动态库(dll)、静态库(lib)

讲述 VC++ 如何创建动态库、静态库并使用

2023-02-17 00:49:24 2809 1

原创 matlab中的foreach、for in 循环、迭代器

matlab中类似于 foreach 的语法

2022-11-13 22:28:02 3087

原创 arctan函数加上90°;arctan(a/b)与arctan(b/a)的关系

arctan函数加上90°;arctan(a/b)与arctan(b/a)的关系

2022-11-06 13:56:05 3461 1

原创 非最小相位系统;频率特性的对称性

最小相位系统的曲线是顺时针运动,非最小相位系统的曲线是逆时针运动。注意看,上面两张图的奈奎斯特曲线对称后箭头都是向上的。可见,关于虚轴对称是连箭头一起对称的。非最小相位系统是相对最小相位系统来说的。它把最小相位系统的频率特性的实部或虚部取反了。可以看到两张图的奈奎斯特曲线关于虚轴对称,且连箭头都一起对称了。可以看到,上面的半圆频率为正,下面的半圆频率为负。可以看到上面的半圆频率为负,下面的半圆频率为正。可以看到曲线在实轴上0刻度的右边。可以看到曲线在实轴上0刻度的左边。

2022-10-31 00:40:12 3212

原创 使用FreeRTOS的Arduino框架把main函数放到哪了

使用 Platform IO 把 setup() 和 loop() 中的 loop 函数删除,点击编译,报了如下错误提示有一个文件调用了一个没定义的 loop 函数。进入到这个文件,这个文件的内容如下#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "esp_task_wdt.h"#include "Arduino.h"#ifndef CONFIG_ARDUINO_LOOP_STACK_SIZE#define

2022-05-09 12:22:42 795

禁用WPS任务栏多重预览

禁用WPS任务栏多重预览

2025-06-15

MSP430F5xx_6xx_DriverLib_Users_Guide-2_91_13_01.pdf

MSP430F5529有两种方式进行开发,一种是利用C操控寄存器,另一种是使用TI公司提供的库函数,第二种方式简单,易上手,但是仍需对单片机的原理,结构有一定了解,否则会一脸懵逼。 这是英文版的手册,讲的是MSP430F5529单片机的API函数及其使用方法

2020-08-27

空空如也

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

TA关注的人

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