<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Koma的主页]]></title><description><![CDATA[One Code，One Dream !]]></description><link>https://blog.youkuaiyun.com/wangningyu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangningyu]]></copyright><item><title><![CDATA[(C++) Qt5.15.12 + qgis3.34.12 + osg3.6.5 + osgearth3.8.0 + GDAL库 等高线生成示例代码]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/160384361</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/160384361</guid><author>wangningyu</author><pubDate>Tue, 21 Apr 2026 23:51:58 +0800</pubDate><description><![CDATA[本文介绍了基于Qt和GDAL库的等高线在QGIS与osgearth生成绘制的示例。通过REC533软件输出的5×5网格数据，使用双线性插值算法扩展为360×180高分辨率网格，并利用GDAL的等高线生成功能绘制等值线。系统支持将结果可视化显示(QImage/QPixmap)，并可导出为内存栅格数据集或Shapefile矢量文件。文章还探讨了在osgearth中处理大跨度凹多边形时的特殊处理需求，包括经线分割等技术细节。]]></description><category></category></item><item><title><![CDATA[如何在QT5+MinGW环境中编译使用QGIS开发地图应用]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/143360812</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/143360812</guid><author>wangningyu</author><pubDate>Tue, 16 Dec 2025 21:06:50 +0800</pubDate><description><![CDATA[打开程序菜单中的Qt 5.14.2 (MinGW 7.3.0 32-bit)环境，先来克隆marble源代码。（可选）： 如果你希望将编译好的 QGIS 安装到指定目录，可以使用。2. 克隆QGIS官方仓库代码(当前版本3.34.12)安装CMake时会默认勾选添加到环境目录。3.测试QT5+MinGW 32位环境。1. 先安装git和cmake工具。此时需要自带梯子或者改HOST方法。]]></description><category></category></item><item><title><![CDATA[MFC中从位图角度旋转图片示例代码]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/155989917</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/155989917</guid><author>wangningyu</author><pubDate>Tue, 16 Dec 2025 21:04:25 +0800</pubDate><description><![CDATA[摘要：本文提供了MFC中实现位图旋转功能的代码示例，支持0°、90°、180°和270°四种固定角度旋转。核心函数RotateBitmap通过创建32位DIBSection进行像素级操作，避免了CDC依赖。代码处理了源位图信息获取、内存分配、像素搬运等关键步骤，并提供了两种实现方式：直接返回CBitmap对象和使用输出参数避免所有权问题。特别说明了在老版本MFC中可能存在对象所有权风险的情况。]]></description><category></category></item><item><title><![CDATA[MFC基于CStatic自绘控件多轴+图样+标签的折线图控件]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/155989769</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/155989769</guid><author>wangningyu</author><pubDate>Tue, 16 Dec 2025 21:00:58 +0800</pubDate><description><![CDATA[本文介绍了一个基于MFC CStatic控件的多轴折线图自绘控件实现。该控件支持多Y轴显示、多数据序列绘制，包含刻度、网格、图例和自适应绘图区等功能。主要特点包括： 采用GDI+实现平滑曲线绘制 支持动态添加Y轴和数据序列 提供完整的坐标轴、网格、图例显示 自动计算绘图区域并适配不同尺寸 支持X轴标题显示 实现上通过继承CStatic类，重写OnPaint等方法完成绘图逻辑，使用GDI+实现抗锯齿效果。开发者只需调用简单的API接口即可创建复杂的多轴图表，适用于各种数据可视化场景。]]></description><category></category></item><item><title><![CDATA[QT5 C++ restful 轻量级示例代码]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/152093373</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/152093373</guid><author>wangningyu</author><pubDate>Fri, 26 Sep 2025 10:00:00 +0800</pubDate><description><![CDATA[代码 QT5 C++ restful 轻量级示例代码。]]></description><category></category></item><item><title><![CDATA[giflib5.2.2 在Qt与VS C++中实现Gif缩放示例]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/152093273</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/152093273</guid><author>wangningyu</author><pubDate>Thu, 25 Sep 2025 21:22:19 +0800</pubDate><description><![CDATA[文章摘要： 本文介绍了使用giflib 5.2.2在Qt和VS C++环境中实现GIF缩放的方案。主要内容包括：1) 配置Qt项目的.pro文件添加giflib库；2) 提供GifScaler类的接口实现，支持指定输出尺寸缩放GIF；3) 核心功能通过scaleFrame函数实现最近邻插值缩放，blendFrame处理透明像素合成；4) 完整解析GIF89a规范，处理帧间disposal方法(保留/清除/恢复背景等)；5) 使用Windows API处理文件IO，确保跨平台兼容性。该方案可直接集成到Qt项目]]></description><category></category></item><item><title><![CDATA[C++指针强转问题 static_cast dynamic_cast reinterpret_cast const_cast]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/152093058</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/152093058</guid><author>wangningyu</author><pubDate>Thu, 25 Sep 2025 21:14:45 +0800</pubDate><description><![CDATA[C++类型转换操作符详解：static_cast用于安全类型转换（如数值转换、向上转型）；dynamic_cast用于父类到子类的运行时类型检查转换；reinterpret_cast处理无关类型间的危险转换（如指针与整型互转）；const_cast用于移除const/volatile限定符。MFC中常见reinterpret_cast用于线程参数和窗口消息传递，需谨慎使用以避免未定义行为。每种转换都有特定用途和风险，应根据场景合理选择。]]></description><category></category></item><item><title><![CDATA[RISC-V 编译命令解析]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/152092995</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/152092995</guid><author>wangningyu</author><pubDate>Thu, 25 Sep 2025 21:10:14 +0800</pubDate><description><![CDATA[本文解析两条RISC-V工程相关的命令。编译命令使用riscv-none-embed-gcc生成最小共享库test.so，通过参数指定64位架构、ABI标准、代码模型，并优化链接过程。精简命令使用riscv-none-embed-strip删除不必要的.hash段，减少文件体积。这两条命令协同工作，最终生成适用于嵌入式系统的高效精简共享库文件。]]></description><category></category></item><item><title><![CDATA[Qt中多线程高频率读取/写入多个原子变量的方法来避免CPU Cache Line 伪共享]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/151123900</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/151123900</guid><author>wangningyu</author><pubDate>Thu, 04 Sep 2025 12:00:00 +0800</pubDate><description><![CDATA[摘要：在多线程高频率访问原子变量时，传统互斥锁会导致性能问题。本文介绍通过内存对齐技术避免CPU缓存行伪共享(False Sharing)的优化方法。核心方案是使用alignas(64)或Qt的Q_DECL_ALIGN(64)强制每个原子变量独占64字节缓存行，并提供C++17标准常量和数组分离等扩展方案。这些方法能显著提升多线程并发性能，适用于计数器、标志位等高频访问场景。]]></description><category></category></item><item><title><![CDATA[ITU-R P.372 无线电噪声预测库调用方法]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/145533731</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/145533731</guid><author>wangningyu</author><pubDate>Wed, 03 Sep 2025 09:00:00 +0800</pubDate><description><![CDATA[计算大气噪声的标准差和偏差，基于 NTIA 报告 85-173。：调用 P372 动态库进行噪声计算。的计算程序，能够基于。计算出的噪声数据包含。]]></description><category></category></item><item><title><![CDATA[#日常甩锅 一直埋了十年的雷被我review修复了]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/148738976</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/148738976</guid><author>wangningyu</author><pubDate>Fri, 20 Jun 2025 22:15:18 +0800</pubDate><description><![CDATA[本文对比分析了两个版本的C++代码(V1/V2)，揭示了一个埋藏十年的内存越界BUG。V1版本存在边界检查缺失、硬编码常量、逻辑混乱等问题，可能导致内存越界和随机崩溃。作者通过30万行代码的全面排查，最终定位到根本原因：单片机与PC端代码的指针对齐差异。文章还提供了Keil环境下安全的内存对齐写法，并指出跨平台开发时硬件差异导致的调试难点。该案例凸显了代码审查、边界检查和跨平台协作的重要性，特别是当软件与硬件由不同团队开发时，需要更严谨的接口设计和验证机制。]]></description><category></category></item><item><title><![CDATA[在国产麒麟Kylin Linux Advanced Server V10中使用QT5开发环境并支持中文输入]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/147339668</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/147339668</guid><author>wangningyu</author><pubDate>Fri, 18 Apr 2025 20:10:10 +0800</pubDate><description><![CDATA[官方源中的qt creator代码编辑器中是支持中文输入，运行后应用程序也支持！如果跟我这上面一样，说明你安装成功，可以正常使用qt开发你的应用程序了！不要安装第三方源的工具包，包括QT官网的！]]></description><category></category></item><item><title><![CDATA[qt中libusb热插拔检测示例代码]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/146480160</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/146480160</guid><author>wangningyu</author><pubDate>Mon, 24 Mar 2025 21:00:00 +0800</pubDate><description><![CDATA[qt中libusb热插拔检测示例代码。]]></description><category></category></item><item><title><![CDATA[gcc编译静态库及调用方法查看导出函数]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/143215814</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/143215814</guid><author>wangningyu</author><pubDate>Thu, 24 Oct 2024 17:57:49 +0800</pubDate><description><![CDATA[【代码】gcc编译静态库及调用方法查看导出函数。]]></description><category></category></item><item><title><![CDATA[GCC静态库与动态库链接顺序的深坑]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/143215787</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/143215787</guid><author>wangningyu</author><pubDate>Thu, 24 Oct 2024 17:56:49 +0800</pubDate><description><![CDATA[接下来遇到 -lLibB，其中包含了对 SDL2 库的函数调用，但由于链接器已经经过了 SDL2 库，且没有记录下来这些未解析的符号，所以此时 LibB 无法解析这些函数，导致报错。在C程序链接器命令的时候，通常像这种写法-lSDL2 -lLibB，此时就会报B报错找不到A中的函数，但是如果交换顺序-lLibB -lSDL2就正常了，这是为何？接下来遇到 -lSDL2，此时链接器可以解析之前 LibB 中未解析的 SDL2 函数，从而解决所有符号的依赖，链接成功。]]></description><category></category></item><item><title><![CDATA[如何在QT5+MinGW环境中编译使用Marble开发地图地球仪]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/143086247</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/143086247</guid><author>wangningyu</author><pubDate>Thu, 24 Oct 2024 17:55:38 +0800</pubDate><description><![CDATA[Marble它是一个虚拟地球仪和地图应用程序，支持多种平台。Marble 提供 2D 和 3D 的地图视图，能够展示各种地理信息，像卫星图、街道图、气象图等。它还支持自定义插件、路线规划、离线地图等功能，适合地理信息系统 (GIS) 和教育用途。Marble 有多种使用场景，可以集成到 Qt 应用中。你可以在使用 Marble 作为独立应用，也可以将其嵌入到自己的项目中.安装CMake时会默认勾选添加到环境目录。3.构建CMake文件，分别进不同目录输入。这里非常慢，估计1个小时起步了...]]></description><category></category></item><item><title><![CDATA[VS2022配置编译使用boost库]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/140479130</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/140479130</guid><author>wangningyu</author><pubDate>Tue, 16 Jul 2024 23:06:36 +0800</pubDate><description><![CDATA[VS2022配置编译使用boost库
2、解压boost文件至D:\boost_1_85_0。3、打开VS2022命令行(红色区域不要进错了！(这里根据电脑硬件配置决定,通常3-10分钟完毕)6、待第5步完成，依次输入这两行命令。7、命令行参数注释（可不用理会）后会自动生成b2.exe。4、在命令行输入以下。]]></description><category></category></item><item><title><![CDATA[HttpOpenRequest 函数偶尔会引起崩溃的坑]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/139711308</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/139711308</guid><author>wangningyu</author><pubDate>Sun, 16 Jun 2024 10:00:00 +0800</pubDate><description><![CDATA[HttpOpenRequest的参数szAcceptTypes，因为他是一个二维数组.这里将会存在隐患，不定时随机崩溃。]]></description><category></category></item><item><title><![CDATA[QT在场景中利用freetype实现独立的文字绘制子类QxFreeTypeTextItem]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/138927884</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/138927884</guid><author>wangningyu</author><pubDate>Wed, 15 May 2024 23:46:39 +0800</pubDate><description><![CDATA[QT在场景中利用freetype实现独立的文字绘制子类QxFreeTypeTextItem，继上一章节讲过qt中如何编译freetype。]]></description><category></category></item><item><title><![CDATA[Qt编译和使用freetype矢量字库方法]]></title><link>https://blog.youkuaiyun.com/wangningyu/article/details/138927379</link><guid>https://blog.youkuaiyun.com/wangningyu/article/details/138927379</guid><author>wangningyu</author><pubDate>Wed, 15 May 2024 23:44:46 +0800</pubDate><description><![CDATA[release目录会生成FreeType.dll与FreeType.o文件，即可供其他程序调用。后面都是默认下一步完成即可，下载后解压至QT DLL工程目录。这里基本上就编译成功，没什么问题了。]]></description><category></category></item></channel></rss>