- 博客(561)
- 收藏
- 关注
原创 虚拟仿真、半实物仿真和实况仿真简介
仿真技术按虚实占比分为三类:虚拟仿真(全数字模型,低成本快速迭代,用于算法验证、模拟训练)、半实物仿真(部分真实硬件接入,实时闭环测试,用于控制器验证、高成本试验替代)和实况仿真(全实装操作,高保真高风险,用于实兵演练、定型测试)。三者保真度、成本和应用阶段递进互补,现代军事LVC框架可整合多形态实现虚实协同。核心差异在于硬件参与程度、实时性要求和适用场景。
2026-08-03 21:59:46
313
原创 C++打造自己的std::error_code
摘要: std::error_category是C++11中用于区分错误来源的抽象基类,通过错误码和类别唯一标识错误类型。自定义错误类别需继承该类,实现name()和message()方法,并确保全局单例。标准库提供system_category(系统错误)和generic_category(通用errno)两个内置类别。自定义错误需配套枚举和模板特化std::is_error_code_enum以支持隐式转换。关键注意点包括:单例模式(避免栈对象)、错误码唯一性,以及通过地址比较类别而非名称。典型应用包括
2026-08-01 22:46:20
267
原创 C++设计一个函数来求容器元素绝对值之和的平均值
本文探讨如何实现通用的容器元素绝对值平均值计算函数。原始版本仅支持std::vector<double>,存在类型硬编码问题。通过C++模板技术进行改进:1. 使用模板函数和SFINAE技术,支持标准容器、原生数组和初始化列表;2. 利用std::accumulate简化累加逻辑;3. 通过std::iterator_traits和std::begin/end实现容器类型抽象;4. 提供C++20 Concept简化版和C++11兼容版实现;5. 特别处理std::initializer_lis
2026-07-28 22:47:39
178
1
原创 写一个自定义 QStyle
本文深入解析了Qt中自定义QStyle的实现原理与应用场景。QSS样式表只能解决80%的基础UI美化需求,而QStyle作为底层方案可处理复杂绘制、性能优化和特殊控件改造。文章首先分析了QSS的局限性(绘制能力有限、粒度不足、性能瓶颈等),随后详细介绍了QWidget的绘制机制(双缓冲、脏区域等核心概念)及QStyle的架构设计(策略模式、控件与样式分离)。重点阐述了自定义QStyle的实现方法,包括继承QCommonStyle、重写关键绘制函数、统一尺寸体系等,并提供了完整的代码示例和枚举速查表。最后强调
2026-07-19 17:27:13
415
3
原创 qobject_cast转换失败原因分析
摘要:qobject_cast依赖Qt元对象系统,失效原因可归结为:1)编译问题:未执行qmake全量重编译或头文件未加入.pro;2)继承规范不符:QObject未作为第一基类、多重继承QObject子类或私有继承;3)元信息缺失:缺少Q_OBJECT宏或未包含完整头文件;4)命名空间问题:匿名空间或旧版Qt命名空间处理异常;5)跨库场景:类未导出或插件未注册。调试步骤:检查inherits()返回值,打印类名确认元信息匹配,优先执行全量重编译。相比dynamic_cast,qobject_cast不依赖
2026-07-16 22:41:10
421
1
原创 Qt QPainter 完全指南:从画线到绘制复杂图形
本文介绍了Qt中QPainter的核心原理与应用实践。QPainter作为Qt的2D绘图引擎,采用画家模型设计,通过状态机管理绘制属性,支持坐标变换、裁剪、混合模式等高级功能。文章详细解析了QPainter的绘制流程、坐标系统、基本图形绘制方法(线条、矩形、文本等),以及QPainterPath、Transform等高级特性。同时深入剖析了Qt绘图系统的三层架构(QPainter-QPaintDevice-QPaintEngine)和双缓冲机制。最后通过一个完整的仪表盘控件示例,展示了如何利用QPainte
2026-07-13 23:18:40
467
1
原创 写了这么多年Qt,你知道setStyleSheet 的原理吗?
本文深入分析了Qt样式表(QSS)的底层原理与实现机制。通过Qt 5.12.12源代码解析,揭示了QSS的工作流程:1. 样式解析阶段将CSS字符串转换为结构化规则;2. 通过QStyleSheetStyle代理原生样式;3. 在polish阶段注入属性;4. 最终在绘制阶段应用样式规则。文章详细对比了直接设置控件属性与使用QSS的区别,解释了为何后者能生效而前者可能无效。同时提供了QSS属性与QStyle接口的详细对照表,总结了常见样式不生效的原因及解决方案,并比较了QSS与QProxyStyle的异同。
2026-07-12 21:57:34
607
原创 C++之std::numeric_limits介绍
C++标准库中的numeric_limits类模板(定义于<limits>)提供统一查询数值类型边界、浮点特性及特殊值(如无穷/NaN)的接口。其主模板默认返回T{}(零值),实际功能通过针对基础类型(如int/double)的全特化实现。关键特性包括:静态函数max()/min()/lowest()获取极值,epsilon()等查询浮点精度,is_integer等编译期类型判断。采用(min)写法规避Windows宏冲突,支持constexpr和[[nodiscard]],泛型友好,替代C风格
2026-07-11 23:35:10
209
原创 编程中常见的正则表达式应用场景总结
本文介绍使用Qt的QRegularExpression正则表达式删除字符串中"固定前缀+数字"片段的方法。关键点包括:1.使用"img\d+"匹配前缀加数字;2.批量删除多个前缀可用"(img|test)\d+";3.通过\b限定独立单词;4.注意Qt中需双写反斜杠。推荐使用Qt5.15+的QRegularExpression替代老旧QRegExp,支持replace()全局替换或replaceFirst()局部替换。该方法可处理不同位数数字,避免
2026-07-11 22:55:37
393
原创 fatal error C1189: #error: WinSock.h has already been included 的解决方案
【摘要】Boost.Asio与Windows头文件因Winsock版本冲突导致编译错误。解决方案包括:1)添加预处理器宏_WINSOCKAPI_和WIN32_LEAN_AND_MEAN阻止旧版Winsock包含;2)确保asio头文件先于Windows.h包含;3)将项目中所有winsock.h替换为winsock2.h。三种方法均可解决新旧Winsock API头文件共存冲突问题。
2026-07-10 22:46:15
297
原创 Qt界面底层实现浅谈: 多渲染后端的分层架构
本文详细解析了Qt框架的图形渲染机制,主要分为三部分内容:1. QtWidgets的CPU软件光栅化机制:默认使用QRasterPaintEngine进行纯CPU绘制,通过分层架构实现跨平台一致性,最终将像素输出到系统原生窗口表面。2. QtQuick/QML的GPU加速渲染:在Qt5中深度绑定OpenGL,Qt6引入RHI抽象层支持多后端图形API(D3D11/12、Metal、Vulkan等),实现更好的跨平台兼容性。3. 性能对比与选型建议:分析了CPU软件光栅化与GPU渲染在不同场景下的性能差异,并
2026-07-05 19:28:08
701
2
原创 VCGLib:一个好用的网格模型处理库
VCGLib是一个由意大利国家研究院CNR-ISTI开发的纯头文件C++三维网格处理库,专注于三角/四面体网格的操控与处理。作为MeshLab和Metro的底层引擎,它提供网格简化、清洗、曲率计算等先进功能,支持无编译集成和高度可定制的拓扑结构。核心设计采用可插拔组件组合,实现零冗余内存管理。库包含丰富的算法模块,如文件IO、拓扑遍历、网格修复、采样算法和空间索引等。使用需掌握模板元编程,适合三维扫描后处理、逆向建模等场景。优点包括工业级算法和跨平台性,缺点是文档较少且学习曲线较陡。建议从基础IO和简化功能
2026-07-05 14:03:47
387
原创 linux下因两个同名C++结构体引起的崩溃问题分析
本文分析了Linux环境下两个动态库中同名结构体导致运行时崩溃的问题。原因在于Linux动态链接的全局符号抢占机制,不同库的同名结构体在运行时被合并为同一符号,当内存布局或成员不一致时引发崩溃。与Windows默认隐藏内部符号不同,Linux默认导出所有全局符号。解决方案包括:1)使用命名空间隔离;2)编译时设置符号可见性(-fvisibility=hidden);3)控制链接加载方式。根本差异在于Windows采用定向绑定的隐藏模式,而Linux采用全局符号池的开放模式,后者更易引发运行时冲突。
2026-07-03 23:19:23
574
原创 Qt布局中QCheckbox和QLineEdit水平布局中间没有空白,QCheckbox和QCombobox水平布局中间有很大的空白
本文分析了Qt控件布局中产生空白间隙的根本原因及解决方案。核心问题在于控件的三个尺寸特性:SizeHint(理想大小)、MinimumSize(最小限制)和SizePolicy(空间分配策略)。通过对比QCheckBox+QLineEdit(紧密贴合)和QCheckBox+QComboBox(产生间隙)两种组合,指出ComboBox因Preferred策略和较大MinimumSize导致无法压缩,从而产生空白。解决方案是将ComboBox的SizePolicy改为Expanding,使其主动占据剩余空间。
2026-07-01 23:21:38
518
1
原创 1267 - Illegal mix of collations (utf8mb4_0900_ai_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) ...
MySQL查询中出现1267错误,原因是FIND_IN_SET操作涉及的字段/字符串字符集不一致(utf8mb4_0900_ai_ci与latin1_swedish_ci冲突)。解决方案有三种:1)临时方案:在SQL中使用CONVERT函数强制统一字符集;2)永久方案:通过ALTER TABLE修改字段字符集为utf8mb4;3)配置方案:在数据库连接时指定utf8mb4字符集。核心原则是确保参与字符串比较的字段字符集和排序规则完全一致。
2026-07-01 22:05:58
156
原创 ImGui: 一套C++ 即时模式 GUI(Immediate Mode GUI,IMGUI) 开源库
DearImGui是一款轻量级C++即时模式GUI库,专为游戏开发、工具调试和编辑器界面设计。它采用无回调机制,通过每帧重建UI实现高效开发,支持OpenGL/DirectX/Vulkan等多种图形后端。核心特性包括:内置丰富控件、跨平台支持、中文显示(需加载字体)、窗口停靠和表格布局。典型应用场景包括游戏引擎调试面板、性能监控工具和图形编辑器,但不适合商业桌面软件。集成过程需配置平台和渲染后端,开发时需注意性能优化和线程安全限制。该库以开发效率见长,但缺乏原生控件支持,适合工具类界面而非通用应用程序。
2026-06-26 23:12:20
1176
2
原创 CMake项目,用VS2022编译调试,传递命令行参数的方法
在VS2022中为CMake项目配置命令行参数有两种方法:1)通过VS界面操作,在顶部工具栏选择调试目标后进入「调试和启动设置」,自动生成launch.vs.json文件并在args字段添加参数(每个参数需作为独立数组元素);2)直接编辑.vs/launch.vs.json文件,在对应配置块中添加args数组。若通过CMake生成.sln解决方案,则可通过项目属性直接设置命令参数。注意多配置环境下需为每个配置单独添加参数,且参数需按空格分隔为独立元素。
2026-06-26 22:00:47
296
原创 移动构造不标 noexcept,std::vector 扩容就会悄悄退化成拷贝
文章摘要: C++中noexcept关键字对STL容器性能影响显著。实验显示,std::vector扩容时,若元素移动构造未标记noexcept,会退化为拷贝构造(耗时激增130倍),因标准库通过std::move_if_noexcept保障异常安全。析构函数是唯一默认隐式noexcept的特殊成员,而用户手写的移动构造/赋值默认不带noexcept,需显式声明以优化性能。最佳实践:对不会抛异常的移动操作标记noexcept;遵循“零法则”减少手写析构,避免析构抛异常。std::move_if_noexce
2026-06-23 23:29:11
528
原创 mysql导入备份文件报错:ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT...
MySQL导入SQL备份文件时报错"Row size too large",主要因InnoDB引擎单行数据超过8126字节限制。问题根源在于表使用COMPACT行格式且含大量大字符字段,导致行内存储空间不足。推荐解决方案是将表行格式改为DYNAMIC,该格式会将超长数据溢出存储,行内仅保留指针。具体操作包括:设置全局参数、修改表行格式为DYNAMIC,或在建表时直接指定该格式。对于批量处理,可统一替换建表语句中的引擎设置后重新导入。
2026-06-16 22:56:16
373
2
原创 libigl: 一个很好用且开源的C++几何处理库
摘要: libigl是一款轻量级C++开源几何处理库,采用MIT协议,专注于三角/四面体网格的离散微分几何、有限元计算及可视化。其核心设计为Header-only模式,基于Eigen矩阵描述网格数据,算法模块化且无强耦合,支持快速原型开发。内置OpenGL查看器简化调试,适用于科研(参数化、测地线算法)、建模预处理(网格简化、UV展开)、有限元仿真等场景。依赖分层明确(强制Eigen3,可选CGAL/Embree等),提供网格IO、布尔运算、光线追踪等扩展功能。优势包括低入门成本、丰富算法覆盖及跨平台支持,
2026-06-16 22:26:19
518
1
原创 全面深入了解C++20 范围库(std::ranges)
C++20范围库(std::ranges)是对传统STL的重大升级,基于五大核心能力:概念(Concept)、范围(Range)、视图(View)、管道语法和投影(Projection)。它解决了传统STL的繁琐写法、组合困难等问题,支持线性链式调用和惰性求值。主要内容包括:1) 范围的概念定义,所有标准容器天然是范围;2) 哨兵(Sentinel)机制,支持更灵活的序列终止判断;3) 视图(View)的非拥有性、惰性计算特性;4) 管道语法实现声明式编程风格;5) 投影(Projection)简化结构体操
2026-06-14 19:18:14
548
1
原创 ANTLR4: CORBA IDL、C++ 语法文件分析利器
摘要: ANTLR4是一款强大的语法解析器生成工具,通过.g4语法文件自动生成词法分析器(Lexer)、语法分析器(Parser)、解析树(AST)及遍历接口(Listener/Visitor),显著降低自定义或现有语言解析的开发成本。其核心优势包括跨语言支持(Java/Python/C++等)、易读的类EBNF语法、完善的错误处理,以及官方grammars-v4仓库提供的数百种预置语法(如C++、SQL、Protobuf)。典型应用涵盖源码解析、DSL设计、接口语言处理等。 工作流程: 词法分析:源码→T
2026-06-12 23:28:54
532
1
原创 VS2019自定义调试可视化:Natvis 可视化框架
摘要:Natvis是Visual Studio专为C/C++调试设计的可视化框架,通过XML文件定义规则,优化复杂数据结构(如结构体、模板、链表等)在调试时的显示效果。支持实时生效、无代码侵入,可配置条件显示、数组/树可视化等高级功能。使用方法包括创建项目内/全局.natvis文件,核心XML节点有<Type>、<DisplayString>、<Expand>等,并提供数组/链表/树的专用可视化方案。适用于自定义类型、第三方库数据结构等场景,显著提升调试效率。
2026-06-07 14:34:26
619
1
原创 MySql中各种功能用sql语句实现总结
本文总结了SQL常用操作,主要包含:1) 数据查询中的排序(ORDER BY)和分页(LIMIT)语法;2) 聚合统计(COUNT/SUM/AVG等)与分组(GROUP BY)操作,包括HAVING筛选;3) 数据增删改(DML)操作,如INSERT、UPDATE、DELETE及批量插入等高效写法;4) 判断表字段是否存在的方法;5) 通过存储过程实现批量添加/删除所有表的指定字段。文章提供了大量实用SQL示例,涵盖单表操作的基本技巧和优化建议,适合日常数据库开发参考。
2026-06-07 10:53:02
274
原创 std::vector<T>到QVector<T>的数据复制方案
本文介绍了5种高效实现std::vector到QVector转换的方法:1. Qt官方接口(Qt5.15+/Qt6):QVector::fromStdVector()直接深拷贝,逆向使用toStdVector();2. 移动语义(最优性能):通过std::make_move_iterator转移资源,避免元素拷贝;3. POD类型极致优化:利用memcpy整块内存复制,仅适用于基础数据类型;4. 通用深拷贝方案:预分配内存后通过迭代器追加,适合所有类型;5. C++17模板统一方案:自动区分左右值引用
2026-06-05 22:53:21
545
原创 Qt之QScopedPointer、QScopeGuard、QScopedValueRollback使用及源码解读
本文系统解析了Qt框架中的三种RAII(资源获取即初始化)工具:QScopedPointer、QScopeGuard和QScopedValueRollback。QScopedPointer是独占式智能指针,通过作用域自动释放内存,支持自定义删除器适配不同场景;QScopeGuard作为通用作用域守卫,确保任何退出路径下都能执行预定义的清理逻辑;QScopedValueRollback专用于变量值的临时修改与自动恢复。三者均基于析构函数自动执行机制,分别针对内存管理、通用资源清理和变量状态回滚等典型场景,通过
2026-06-04 23:14:52
789
原创 CMake实践:VS2019控制台程序隐藏控制台方法
本文介绍了在Windows平台隐藏控制台窗口的两种方案:1.运行时动态隐藏:通过WindowsAPI(ShowWindow或FreeConsole)实现,但会短暂闪现黑框;2.编译时彻底移除:通过修改链接器配置(MSVC用#pragma指令/MinGW加-mwindows参数/CMake设置WIN32_EXECUTABLE属性),从根源不生成控制台。特别推荐CMake方案,可条件化配置(Debug保留/Release隐藏),保持main()入口且跨平台兼容。两种方法各有利弊,前者灵活但存在闪现,后者彻底但需
2026-06-04 21:49:31
365
原创 cereal 库:C++ 序列化的轻量之选
Cereal是一个专为C++11及以上版本设计的轻量级头文件序列化库,支持二进制、XML和JSON格式。它无需外部依赖,直接包含头文件即可使用,具有高性能(二进制序列化接近memcpy速度)、类型安全和多态支持等特性。支持侵入式和非侵入式两种接入方式,提供版本控制和Split Save/Load功能,能优雅处理schema变更。内置对STL容器和智能指针的支持,性能测试显示其二进制格式比Boost.Serialization快4-5倍。相比Protocol Buffers,Cereal无需预编译且侵入性更低
2026-06-01 23:16:49
1042
2
原创 C++17之类模板实参自动推导CTAD
文章摘要 本文详细介绍了C++中的聚合初始化和类模板实参自动推导(CTAD)。聚合初始化适用于无构造函数、全public成员的聚合类,通过花括号{}直接初始化成员变量,支持嵌套和缺省值。CTAD是C++17特性,允许编译器根据构造函数参数自动推导模板参数,简化模板类对象创建。标准库容器、智能指针等内置CTAD支持,但需注意禁止部分显式推导、模板别名不支持及静态成员需显式指定类型。自定义推导指引可解决复杂场景下的类型推导问题。
2026-06-01 21:55:35
275
原创 C++ 序列化 Protocol Buffers:高效数据交换
摘要:本文介绍了Google开发的Protocol Buffers(Protobuf)协议,它是一种高效、跨语言的结构化数据序列化方案。文章详细讲解了Protobuf的安装方法(系统安装与源码编译),并通过C++示例展示了完整使用流程:定义.proto文件、生成代码、序列化/反序列化操作。重点解析了字段类型、嵌套消息、重复字段等核心语法,比较了Protobuf与JSON/XML的性能优势,最后给出了兼容性维护、性能优化等实用建议。Protobuf以其高效的二进制编码、强类型检查和跨语言特性,成为微服务和网络
2026-05-28 23:11:01
404
4
原创 推荐一个学习Windows编程的好地方:CppGuide社区
《Windows 10系统编程指南》是一本全面介绍Windows系统编程的在线教程,涵盖17个核心章节。从基础概念(第1章)开始,逐步深入讲解Windows对象与句柄(第2章)、进程管理(第3-4章)、线程基础与高级应用(第5-10章),包括线程调度、同步机制和线程池等关键主题。随后重点解析I/O操作(第11章)、内存管理(第12-14章)以及动态链接库(第15章)的实现,最后涉及系统安全(第16章)和注册表操作(第17章)。该教程结构清晰,适合开发者系统学习Windows平台底层编程技术。
2026-05-28 22:43:17
214
原创 std::visit深入理解及源码分析
本文深入解析C++17中的std::visit机制,它是访问std::variant的标准方式。std::visit基于访问者模式实现,能自动匹配variant当前存储的类型并调用对应处理逻辑,避免手动类型判断。文章详细介绍了其语法格式、基础用法(单/多variant访问)、高级技巧(重载lambda、函数对象访问、带返回值访问)以及C++20显式指定返回类型等特性。通过分析底层实现原理,揭示了std::visit如何通过编译期生成类型分发逻辑和运行期索引跳转实现高效访问。最后对比了与其他访问方式的优劣,指
2026-05-26 23:36:43
649
1
原创 FastCopy:Windows 最快的文件复制备份工具
FastCopy 是由日本开发者白頭秀明 (Shirouzu Hiroaki) 开发的Windows 平台极致性能文件复制 / 备份软件,以突破系统限制的传输速度和强大的文件处理能力著称,广泛用于大文件、海量小文件及超长路径文件的高效传输。特性说明极速传输采用异步 I/O + 直接 I/O(绕过系统缓存),读写线程独立并行,SSD 环境下速度提升20%-30%,NVMe SSD 实测可达8.7GB/s+,远超 Windows 原生复制 (2-3GB/s)FastCopy超长路径支持完美处理。
2026-05-24 12:19:43
511
原创 QHttp: 一个开源的轻量级、异步、高性能 HTTP 库
QHttp是一个轻量级、异步的第三方HTTP库,专为Qt5/C++14设计,同时支持服务器端和客户端功能。核心优势包括异步非阻塞处理、高效HTTP解析、自动内存管理和PIMPL设计。安装需Qt5.7+和C++14编译器,通过qmake或CMake集成。示例展示了如何构建REST API服务器和发送HTTP请求。性能优化建议包括连接复用和请求限制。适用于嵌入式等资源受限环境,但不推荐用于Qt6项目或需要WebSocket等复杂功能的场景。
2026-05-19 22:18:20
633
原创 QtFluentWidgets: 一套基于C++ Qt Widgets的Fluent Design风格控件库
QtFluentWidgets是一款基于C++ QtWidgets的Fluent Design风格控件库,提供150+现代化UI组件,支持Qt5/Qt6无缝兼容。主要特性包括:统一主题管理、Windows 11风格控件(如日期范围选择器、自定义标题栏等)、流畅动画效果,并内置QtDesigner插件支持可视化开发。该库采用CMake构建,支持源码集成或add_subdirectory方式引入,提供完整的Demo程序和文档。开发者可快速构建符合Fluent Design规范的桌面应用,无需编写复杂样式表,同时
2026-05-17 21:11:54
1050
原创 TypePerf:Windows 命令行性能计数器工具(CPU利用率、内存利用率、GPU利用率等)
TypePerf是Windows内置的命令行性能监控工具,可实时采集CPU、内存、磁盘等系统资源指标数据。它支持本地/远程监控、多种日志格式输出(CSV/TSV/BLG),并能查询系统所有性能计数器。工具语法简洁,通过参数可设置采样间隔、次数及输出目标,适用于服务器监控和性能分析。文章详细介绍了基础监控、日志记录、计数器查询等典型用法,并提供了GPU监控、C++/Qt实现方案等高级应用示例,最后总结了常用性能计数器速查表。该工具具有轻量高效的特点,是系统管理员和开发人员进行自动化监控与问题排查的实用选择。
2026-05-15 22:16:54
705
1
原创 SVN 把当前的代码回退到之前的某个版本
SVN代码回退操作指南:提供两种场景的解决方案。场景1仅本地回退(推荐):通过svn update -r版本号或TortoiseSVN的"Update to Revision"功能,可临时恢复本地文件到指定版本,不影响服务器代码。场景2服务器同步回退:需先更新到最新版本,再通过反向合并(svn merge -rHEAD:目标版本号)或TortoiseSVN的日志回退功能,最后提交变更。两种方法均保留历史记录,通过创建新版本实现回退。TortoiseSVN提供图形化操作界面,支持通过日志快
2026-05-14 23:01:31
1598
原创 QFluentKit: 一个基于 Qt Widgets 的 Fluent Design 风格 UI 组件库
QFluentKit是基于QtWidgets的开源FluentDesign风格UI组件库,专为Qt C++开发者设计。该库提供现代化、美观的界面解决方案,支持Qt5.15+和Qt6跨版本兼容,集成QWindowKit实现无边框窗口管理。主要特性包括:严格遵循微软FluentDesign规范、60FPS流畅动画、统一主题管理、丰富的控件库(按钮、输入框等)以及高度可定制性。安装方式支持MinGW/MSVC编译器和Linux/macOS平台,提供CMake集成方案。通过简洁的API,开发者无需复杂样式表即可快速
2026-05-14 22:39:00
1237
原创 Qt程序设计涉及到的开发软件
Qt安装目录包含多个平台的开发工具链,主要分为三大类:1)MSVC2019_64工具集,含qmake/moc/uic等构建工具、Designer界面设计器、Linguist翻译工具及windeployqt部署工具;2)MinGW工具链,提供GCC兼容开发环境;3)WebAssembly专用工具链,支持浏览器端应用开发。各平台工具功能对应但适配不同目标环境,如wasmdeployqt替代桌面端的部署工具。工具按功能分为构建编译、UI设计、本地化支持、调试诊断等类别,通过标准
2026-05-06 21:40:50
522
2
原创 浅谈LLVM
LLVM是一套模块化、可重用的编译器基础设施,已成为现代C++开发的核心工具链。其采用三阶段架构(前端生成LLVMIR、优化器优化IR、后端生成机器码),通过Clang提供比GCC更快的编译速度和更优的错误提示。LLVM工具链包括Clangd(代码补全)、Clang-Tidy(静态分析)、Clang-Format(代码格式化)和LLDB(调试器),显著提升Qt开发效率。文章详细介绍了LLVM的安装配置、CMake集成方法,并提供了完整的Qt项目示例,展示如何利用LLVM优化构建流程和代码质量。建议开发者从C
2026-05-04 22:00:23
620
浮点数与十六进制转换工具
2024-01-22
C++设计模式例程,工厂模式例子
2024-01-15
高质量 C++编程指南,编程的好书籍
2023-12-26
C++模板函数重载规则详解
2023-12-26
sscom 串口调试工具
2023-12-20
NetAssist 网络调试工具
2023-12-20
基于C++CORBA高级编程
2023-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅