- 博客(34)
- 收藏
- 关注
原创 C++智能指针深度比较:“std::shared_ptr“ vs “std::unique_ptr“ vs “std::weak_ptr“
优先使用默认选择,除非需要共享所有权性能最佳,语义最清晰谨慎使用只在真正需要共享所有权时使用注意循环引用问题优先使用合理使用解决循环引用实现观察者、缓存等模式总是通过lock()检查有效性选择原则需要独占所有权 →unique_ptr需要共享所有权 →shared_ptr需要弱引用/打破循环 →weak_ptr原始指针/引用 → 用于无所有权场景性能考虑热点路径避免shared_ptr小对象考虑使用unique_ptr或直接存储避免频繁创建/销毁shared_ptr。
2026-01-16 10:39:58
256
原创 分享一个git日常开发流程
分享一个使用git的工作流程:每天上班之前从远程仓库更新master分支到本地开发分支,每天下班前提交代码到远程开发分支,定期将测试后的远程开发分支跟master分支合并。下面用一个流程图来展示整个流程的全貌:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;否是开始新一天开发切换到本地 dev 分支拉取远程 master 到本地。
2026-01-14 17:14:05
659
原创 什么是线程安全?
线程安全指的是在多线程环境中,当多个线程同时访问同一资源(变量、数据结构、对象等)时,程序能够保证数据的一致性和正确性,不会出现数据损坏或逻辑错误。
2026-01-07 21:25:17
200
原创 描述雷达RCS起伏特性的Swerling模型
Swerling模型是描述雷达目标截面积(RCS)起伏特性的经典统计模型,由Peter Swerling于1954年提出。该模型通过幅度分布和相关时间两个维度,模拟复杂目标在不同姿态下的回波强度统计规律。四种主要类型(Ⅰ-Ⅳ型)由指数分布/χ²分布与快/慢起伏特性组合而成,适用于不同目标特性和雷达条件。Swerling模型对雷达探测概率计算、系统性能评估和信号处理算法设计具有重要价值,但也存在局限性,后续发展了更复杂的对数正态分布、K分布等模型。
2026-01-04 17:32:49
356
原创 什么是旁瓣杂波(SLC)?
旁瓣杂波是雷达天线旁瓣接收的全方位散射回波信号,具有宽频带、连续谱特性。与主瓣杂波不同,它虽然单点强度较弱,但总量大且来源广泛,会抬高噪声基底,降低雷达对微弱目标的检测灵敏度。抑制方法包括低旁瓣天线设计、空时自适应处理等。旁瓣杂波是雷达系统设计中必须克服的核心干扰问题,尤其影响对慢速目标的探测能力。
2026-01-04 17:18:57
922
原创 主瓣杂波(MLC)是什么?
主瓣杂波(MLC)是雷达主波束照射地面等物体产生的强回波,具有高强度、窄带频谱特性。静止雷达的MLC多普勒频率接近0Hz,而运动雷达因平台移动会产生频移。MLC会淹没目标信号,形成探测盲区,需通过动目标显示(MTI)和脉冲多普勒处理等技术抑制。与分散的旁瓣杂波不同,MLC能量集中,是多普勒频谱中的高亮窄带信号。有效处理MLC是提升雷达下视能力和低速目标探测的关键挑战。
2026-01-04 17:16:08
525
原创 如何用regsvr32.exe注册dll文件?
用户可以通过反注册(使用 /u 参数)卸载系统自带的冗余功能(如 ZIP 压缩或图片预览),以节省资源;需要时再重新注册即可恢复。。
2025-12-23 11:54:57
467
原创 Qt的信号槽机制是线程安全的吗?
Qt信号槽的线程安全性并非魔法,而是基于其事件循环(Event Loop)和队列(Queuing)机制。关键在于连接类型(Connection Type)。当你发射一个信号时,Qt会根据信号的发送者对象和接收者对象所在的线程,以及连接类型,来决定如何调用槽函数。自动连接(Auto Connection) - 默认且最常用的类型情况一:发送者与接收者在同一线程直接连接(Direct Connection)。信号发射后,就像调用普通函数一样,立即在发射信号的线程中执行槽函数。此时,线程安全由开发者保证。
2025-11-13 10:03:14
657
原创 Visual Studio中的“VC++ 目录“下的“包含目录“和“C/C++“下“常规“下的“附加包含目录“的区别是什么?
特性VC++ 目录 -> 包含目录C/C++ -> 附加包含目录作用告诉编译器/链接器等去何处查找文件专门告诉编译器去何处查找头文件作用范围全局/半全局(属性表或项目所有配置)项目级,且特定于当前配置优先级较低较高灵活性较低,影响所有配置较高,可为不同配置设置不同路径推荐用法在自定义属性表(.props)中定义基础路径在项目属性中为特定配置添加路径“属性管理器”主要操作场所不依赖于此,在常规项目属性中即可设置。
2025-11-05 16:38:57
912
原创 VS Code使用时遇到WakaTime 插件的 API Key 配置弹窗问题?
当使用VS Code编辑代码时,有时候会遇到输入光标切换到VS Code顶部输入框,提示"Enter your api key from https://wakatime.com/api-key",导致无法正常输入字符。这是一个很常见的问题!你是遇到了。
2025-11-01 15:33:46
486
原创 什么是分布式异构?
异构”这个词的核心是“异”,意思是“不同”。在计算机领域,“异构”指的是一个系统或环境中,包含了不同类型、不同品牌、不同架构或不同规格的组件。我们可以通过一个简单的比喻来理解:想象一个团队。同构团队:所有成员背景完全相同,比如都是计算机专业的本科毕业生,使用同一种编程语言。异构团队:成员背景多样,有设计师、程序员、市场专员、财务专家,他们各有所长,使用不同的工具和方法。硬件异构CPU架构不同:例如,系统里同时有x86架构的 Intel 处理器和ARM架构的苹果 M1 处理器或华为鲲鹏处理器。
2025-10-08 23:26:03
638
原创 QSettings::setIniCodec(“UTF-8“) 报错原因及解决方案
报错是因为这个函数在 Qt 6 中已被移除。使用条件编译根据 Qt 版本决定是否调用这个函数完全移除这行代码如果你只针对 Qt 6 开发创建兼容性包装函数来处理版本差异无论采用哪种方案,在 Qt 6 中 INI 文件都会使用 UTF-8 编码,所以你不需要担心编码问题。只需要确保你的源代码文件本身使用 UTF-8 编码保存,并在处理字符串时使用适当的 Qt 字符串类和方法。
2025-09-22 11:49:17
494
原创 出现“模块‘QtQuick‘没有安装“的错误,如何解决?
工具来打包所有必需的依赖项。这会确保你的程序在目标机器上拥有它需要的一切Qt相关文件。遇到QML发布版程序运行时提示模块"QtQuick"没有安装,如何解决?对于最终要分发给他人的Release版本,最。
2025-09-19 18:36:31
740
原创 笔记本电脑无法直接连接PoE供电的网络设备
请不要再用网线直连电脑和PoE摄像头了。摄像头 → PoE交换机 → 电脑。这样一来,PoE交换机同时解决了供电和数据交换两个核心问题,99%的“网线已拔出”问题都会迎刃而解。
2025-09-10 11:39:47
1216
原创 如何解决QML开发中Row的布局错误?
QML开发时,使用Row控件时,有时候会遇到错误:"QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row. Row will not function."如何解决呢?请看下文介绍。这个错误是因为在 QML 的Row布局中,子元素使用了不允许的锚点属性(如leftrightfill或centerInRow。
2025-09-09 18:17:03
358
原创 解决无法找到QQuickStyle的错误
在使用QML时,可能会用到QQuickStyle模块。但有时候会发现找不到QQuickStyle。比如在后,编译时遇到[]的错误,这通常是因为编译器找不到头文件。,主要用于QML界面样式设置。下面对此错误分析原因并提供解决方案。
2025-09-08 23:33:34
672
原创 如何检查JSON格式的合法性?推荐几个网站
工具名称网址主要优点JSONLint经典专注,错误提示精准功能全面,界面美观BEJSON中文界面,功能强大浏览器控制台(按F12)无需联网,开发者最快选择如果只是偶尔快速验证,使用JSONLint或浏览器控制台。如果需要一个功能强大的工具箱来处理各种数据格式,推荐或BEJSON(中文用户)。对于开发者,强烈建议掌握使用浏览器控制台进行验证的方法,这是最高效的工作流。希望这些工具能帮到您!
2025-09-07 23:11:50
1392
原创 libcurl和cURL有什么区别?
当你在终端里敲curl ...时,你是在使用cURL工具。当你在写代码(C, C++, PHP, Python等)调用一个类似的函数时,你是在使用libcurl库(或其语言绑定)。所以,核心区别在于使用界面:一个是命令行,一个是编程接口。它们共同的核心是实现了对各种网络协议的强大支持。
2025-08-31 22:46:25
445
原创 QML程序中出现“Cannot anchor to a null item“的错误,如何解决?
使用 console.log 输出对象状态:在怀疑对象为 null 的地方,使用 console.log(“目标对象:”, targetItem) 来检查其是否存在。通过这些方法,应该能够解决"Cannot anchor to a null item"错误,并创建更健壮的QML应用程序。确保你在锚定操作执行时,目标元素已经存在。例如,如果你在组件加载时立即锚定,确保所有相关元素都已经创建。如果你需要动态加载元素,并希望在加载后立即设置锚点,可以使用Component,并在加载完成后设置锚点。
2025-08-31 17:28:11
589
原创 音视频开发中 FFmpeg库和 SDL库之间的关系
特性FFmpegSDL核心功能编解码、格式处理(数据)渲染、播放、交互(设备)角色发动机、后厨仪表盘、外壳、前台输出结果原始的 YUV 视频帧、PCM 音频样本屏幕上的像素、扬声器的声音依赖关系可以完全不依赖 SDL 独立工作(如转码)可以完全不依赖 FFmpeg 独立工作(如渲染一张图片、开发游戏)经典组合处理媒体数据展示媒体并实现用户交互FFmpeg相当于制片团队:负责拍摄原始素材(采集)、进行后期剪辑、调色、加特效(处理)、最后输出成数字电影文件(编码)。SDL相当于电影院。
2025-08-28 16:12:37
1104
原创 如何知道硬件设备的IP地址
方法优点缺点适用场景ARP命令系统自带,最快需要知道设备的大致IP网段快速排查,已知设备大概IP范围IP扫描工具无需猜网段,图形化易用需要安装第三方软件完全未知IP地址时的首选串口连接最可靠,绝对能查到需要额外线缆,需要串口软件,操作较复杂网络方法全部失效后的终极手段先尝试方法二(使用Advanced IP Scanner),这是对新手最友好的方式。如果扫描不到,再尝试方法一(ARP命令),并多换几个常见的网段试试(如10.0.0.x如果设备有串口且以上方法都失败了,最后使用。
2025-08-27 11:39:40
2310
原创 QML MediaPlayer播放MP4文件花屏问题解决方案
首先,使用MediaInfo检查视频文件的详细编码信息。这能帮助我们确认是否是遇到了一个Qt不支持的“偏门”配置。尝试在main.cpp中通过环境变量切换Qt的媒体后端directshowvswindows这是最简单的尝试,我的花屏问题就是通过这个方法解决的。同时,更新显卡驱动。这是一个良好的习惯,可以排除很多图形相关的疑难杂症。如果不行,考虑使用C++层的和,绕过QML层可能存在的某些问题。检查OpenGL支持主要作为诊断手段,帮助确定问题是否出在渲染环节。
2025-08-26 15:48:37
1262
原创 QML开发:QML类型学习之MediaPlayer
QML中的MediaPlayer类型用来实现将媒体播放添加到场景中功能。QML中的MediaPlayer模块对应Qt C++中的QMediaPlayer模块。使用MediaPlayer时,需要导入QtMultimedia。
2025-08-23 22:02:21
832
1
原创 什么是音视频开发中的轨道 (Track)
音频轨道(Audio Track)在多媒体处理和开发中是一个基础且重要的概念。简单来说,你可以把想象成录音带上一条独立的、可以单独录制和播放的“通道”🎵。它最初来源于磁带和光盘这样的物理存储介质。
2025-08-22 17:13:53
1163
原创 QML开发:QML中.ui.qml文件和.qml文件的区别
在QML中,文件和普通文件有重要区别,主要涉及它们在Qt框架中的角色和限制:内容限制(最关键区别):工具链支持使用场景对比三、最佳实践建议组件分层架构:交互限制解决方案:性能优化:这种分离使Qt Design Studio等工具能安全编辑UI而不破坏业务逻辑,同时保持代码可维护性。
2025-08-19 17:04:39
584
原创 Visual Studio 命令提示符工具区别与使用场景
Visual Studio会提供一系列命令提示符工具,这些工具应用在哪些场景呢?本文进行了相关介绍。
2025-05-31 11:37:28
2512
原创 “Makefile:2: *** missing separator. Stop.“错误如何解决
这是因为在Makefile文件中,命令(如build、run、clean等)必须以【tab】键开始。所以检查一下Makefile文件里,命令之后是否以【tab】键开始,而不是空格,如果是空格,改成【tab】键。为啥会出现上述错误?
2023-05-09 14:09:43
2318
1
原创 ROS echo topic报错:Cannot load message class for [your defined message]. Are your messages built?
ROS echo topic报错:Cannot load message class for [your defined message]. Are your messages built?
2022-09-22 17:44:35
1468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅