自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

river.qu

因为不够强大,所以被偏见。

  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 异常处理/ROS2异常处理模块源码解读与浅析

本文从如下几个方面对 ROS2.0 中 rcutils 库 error_handling 错误处理模块的源码进行解读:如何定义结构化错误信息、如何格式化错误信息、如何利用线程局部存储来支持多线程错误信息记录、如何设置和获取当前线程的错误状态和信息、如何清理旧错误状态、如何保证旧错误状态不被覆盖丢失、如何定义工具宏来简化编码过程。在此源码研习的基础上,对其设计思路形成一个大致的理解。对异常处理设计的进一步讨论将在《异常处理/非业务异常处理的设计和实现思路》文中展开。

2024-05-12 23:05:35 1175

原创 异常处理/C&C++ 中 assert 断言 应用实践和注意事项

本文主要讲解了 assert 断言机制,在编程中的作用和注意事项,如 assert 的工作原理、Release程序版本下的断言生效问题、为什么要杜绝在assert内执行逻辑、如何自定义断言等。断言机制是在开发和调试阶段快速发现程序中的错误和逻辑问题的重要手段,它可以帮助开发人员在程序中插入检查点,以验证程序的正确性和健壮性,一旦发现断言失败,开发人员可以通过查看错误消息和堆栈跟踪来定位和解决问题。

2024-05-12 22:54:19 1100

原创 异常处理/__LINE__ 与 __FILE__ 宏在调试和异常处理中的高级使用

本文重点讲述了_LINE_和_FILE_宏在软件调试、系统异常处理过程中举足轻重的作用,实践了如何构造以其为参数的函数,并进一步封装为宏函数,以高效灵活使用它们的方法。

2024-05-11 08:40:13 740

原创 语言基础 /C&C++ 可变参函数设计与实践,变参函数的实现、使用、替代方法

本文介绍了C和C++语言中,可变参函数的正确的设计、实现、使用方法,使用场景和替代方案

2024-05-10 13:43:14 865 1

原创 语言基础 /C&C++ 可变参函数设计与实践,va_ 系列实战详解(强制参数和变参数的参数类型陷阱)

本文结合可变参函数的实践,以及对 va_list、va_start 、va_arg、va_end 的源码分析,梳理了在使用 va_start 和 va_arg 过程中遇到的诸多问题或陷阱,明晰了变参函数中变参列表的解析机制和注意事项。

2024-05-10 13:34:53 1381 1

原创 IDE/在Visio中绘制树形图,模版搜索功能的使用

本文主要讲述在微软 Visio 中绘制树形图的方法,并顺便讲述了形状模版搜索功能的使用。

2024-05-06 08:15:27 654

原创 语言基础 /C&C++ 可变参函数设计与实践,必须要指定可变参数的个数?YES

本文重点分析论证了,在可变参函数参数表中指定变参个数的必要性,以及指定变参列表首元素的不必要性,是对C&C++ 可变参函数设计与实践系列文章的进一步扩展。

2024-05-06 08:12:04 778

原创 机器视觉/将HIK海康面阵相机连接Halcon软件

本文简述了如何将海康面阵相机连接到Halcon软件中进行实时取图的过程。

2024-03-30 23:12:24 1443 1

原创 IDE/VS2015和VS2017帮助文档MSDN安装和使用

本文主要介绍了VS集成开发环境中,帮助文档MSDN的安装和使用方法,包括VS2015的MSDN离线安装、VS2017的MSDN在线安装,MSDN的一般使用方法,如何在VS中跳转Qt帮助等,也记录了少许MSDN使用过程中的问题和处理方法。

2024-03-30 22:51:31 1866

原创 Qt 图形视图 /图形视图框架坐标系统的设计理念和使用方法

本文将结合帮助文档、Qt编程书籍、Qt示例程序等研习图形视图框架坐标系统的设计理念和使用方法,主要包含图形项坐标系、场景坐标系、视图坐标系、坐标映射等内容。

2024-03-26 23:28:27 1042 1

原创 Qt 图形视图 /基于Qt示例DiagramScene解读图形视图框架

本文基于对 Qt 图形视图框架 DiagramScene 示例程序的研习,快速上手图像视图框架的使用和窥探图形视图框架的运作原理。文中通过帮助文档了解了示例程序的功能背景,分析了其设计结构,然后通过对示例程序的实际操作,感受其提供的功能,并以一个软件设计开发人员的角度来审视,自己会如何设计实现这些可触及的功能,由浅入深,向图形视图框架的大院又迈进一步。

2024-03-15 17:57:11 1179 2

原创 机器视觉 /从bottle.hdev示例程序开启Halcon&HDevelop征程

本文从HDevelop示例程序bottle.hdev入手,与 Halcon&HDevelop 进行了重识。文中主要对 bottle.hdev和bottlet.hdev 源码进行了解读,借机了解了OCR基本概念和处理流程。在解读和调试过程中对HDevelop开发环境、Halcon算子使用,联合 VS C++ 进行开发的方法等有了新掌握。

2024-03-06 21:30:28 775 1

原创 QtGUI /QScrollArea + QLabel /实现一个可水平滑动的多图片缩略图预览组件

本文实现一个图片缩略图展示控件,支持水平滚动缩略图,支持选中指定的缩略图并以清晰的样式标记。主要样式参考为VisonPro 软件中的图像源配置窗口。最终我通过派生 QScrollArea 组件实现水平滚动,使用 QImage和QLabel 实现图片加载和显示,并过滤 QLabel的‘焦点获得事件’实现了缩略图的选中状态管理,使用qss样式表实现选中效果。

2023-07-24 19:19:32 1169 4

原创 IDE /完整分析C4819编译错误的本质原因

本文详细讲解了产生C4819告警的根本原因及其解决办法,顺便介绍了字符集、字符编码、源字符集、执行字符集、VS项目属性字符集、源代码文件字符编码、编译器字符集配置等基础知识。针对QtCreator+MSVC集成开发环境,给出了一些字符编码相关的配置建议。

2023-07-23 22:58:41 1242 2

原创 IDE/mingw下动态库(.dll和.a文件)的生成和部署使用(对比MSVC下.dll和.lib)

本文编写了QtCreator + mingW 集成开发环境下的动态库生成和使用方法的示例程序,分析了mingw下动态库项目编译生成的\*.a文件的作用到底是什么,并在此基础上,成功解决了历史遗留问题mingW下的dll为何可直接参与编译链接过程,而msvc下的dll只参与执行过程? 本文对比分析了mingw和msvc下动态库的部署和使用上的不同。

2023-07-23 20:49:45 3518 6

原创 IDE/VS项目属性中的 <字符集> 配置项,它到底是干什么用的?

本文围绕着“VS项目属性-常规-项目默认配置-字符集配置“ 的功能到底是什么而展开,较详细的讲述了IDE相关字符编码设置在程序编译过程中启到的作用。

2023-07-14 23:01:26 1793 4

原创 IDE /字符串 /字符编码与文本文件(如cpp源代码文件)

针对因源代码文件编码格式造成的字符串乱码、编译告警等问题,重点讲述了IDE文本编辑器是如何加载和保存源代码文本文件的,以及这个过程中字符编码扮演了怎样的角色;也讲述了字符编码在源代码编译过程中起到的作用。

2023-07-14 22:47:08 3830 3

原创 IDE /skipping incompatible xxx_d.dll when searching for -lxxx_d

该文主要针对 "skipping incompatible xxx_d.dll when searching for -lxxx_d" 编译错误展开,详细分析了其原因,并提出了解决方案。并尝试分析了,mingW是如何兼容调用Windows系统下的动态库的。

2023-07-06 22:35:21 1355

原创 IDE /Qt Creator 文本编辑器之文件编码设置

本文重点描述了: Qt Creator 工具 - 选项 - 文本编辑器 - 行为选项卡 - 文件编码,配置项的主要功能、使用方法和效果。是搭建 QtCreator + MSVC 集成开发环境过程时必须要搞清楚的一个问题。

2023-07-03 22:08:59 3950

原创 Qt Quick /将C/C++中的枚举定义导出到Qml中

本文重点介绍如何将一个无关Qt的纯C/C++头文件中的枚举类型、接口等导出到QML系统中使用,尤其是当该文件是DLL的导出头文件时,如何巧妙的将它们引入到QML中使用。

2023-07-01 12:02:43 650 3

原创 多线程/等待WinAPI或std::thread线程执行的退出

本文重点解答怎么算是优雅退出线程,为什么说等待线程退出是保证优雅的必要条件?以及如何简单有效地等待执行线程以函数返回的形式退出。

2023-06-27 22:14:12 1031

原创 多线程/std::thread线程退出方式详解

本文主要描述了如何优雅退出std::thread线程的执行,并与WinAPI线程退出方式进行了横向比较。

2023-06-26 23:10:45 6966 5

原创 多线程 /C++ 11 std::thread 类深入理解和应用实践

本文重点讲述了std::thread类的joinable属性的含义,执行线程的含义,类接口的使用注意事项,线程对象的创建、线程运行启动和停止操作等内容。

2023-06-26 22:54:45 885

原创 IDE/VS2017社区版安装+Qt部署+旧项目迁移

本文讲述了VS2017社区版的软件包获取方法、安装过程、与Qt库的集成等,附带讲述了从VS2015升级到VS2017的注意事项、解决方案和项目工程迁移重定向等。

2023-06-20 22:53:43 3211 1

原创 IDE/记录VS2015&WinSDK安装过程中增删的系统组件和环境变量

本文详细记录了安装和卸载VS2015和WinSDK过程中,其增删了哪些组件、增删了哪些系统环境变量、增删了哪些磁盘目录和文件。以便在今后可以更清晰的定位那些发生在 "不干净OS环境" 下的开发环境搭建问题。

2023-06-20 22:36:24 1599

原创 IDE/以glog为例实践CMake-Gui工具使用

本文描述如何使用cmake-gui工具构建glog开源项目,附带其编译、安装、打包过程;介绍了glog构建配置项的含义,glog解决方案组成项目等,并对其中涉及的调试追踪和测试技术做了概要描述。

2023-06-16 23:30:17 2218 1

原创 多线程/WinAPI线程退出方式比较分析

对文主要参考MSDN对Windows下线程退出的方法做了详细的解释说明,并实际验证了非优雅退出windows线程时带来的内存泄漏都问题。

2023-06-12 23:20:05 1340

原创 网络通信/QTcpSocket/实现一个可在子线程中发送和接收数据的TCP客户端

基于QTcpSocket类实现一种可在子线程中收发数据的TCP客户端程序。验证了,如果一个Tcp对象被移动到子线程X中,那么其readyRead、connected、disconnected信号等都将从子线程X中发出。

2023-06-11 23:21:00 6203 6

原创 IDE /在VS2015 & VS2017中集成Qt开发环境,常见异常处理

本文主要分析记录了 VS2015/VS2017 + Qt5.12 集成开发环境下,项目属性的配置问题,编译错误和告警的处理等。

2023-06-08 22:57:35 3637

原创 网络通信/QTcpSocket/QObject:Cannot create children for a parent that is in a different thread.

本文将从源码层次上分析产生 “QObject: Cannot create children for a parent that is in a different thread.” 这种告警的原因。

2023-06-08 22:22:33 3426 6

原创 Qt/GUI/布局/实现窗口折叠效果/且在操作时父窗口尺寸跟随变动

本文旨在,实现如下所示的显示或隐藏 ‘附加选项’ 的效果,以折的不常用信息和操作项,减少普通用户负担,提升用户体验。在某些软件中此类窗口折叠效果,常用 “…按钮” 来触发。另一种折叠效果是,类似于QQ好友列表那样的,主要是为更有效的利用有限展示空间。前阵子整理过《Qt/GUI /布局/在父窗中展示多个子窗》,其中在父窗口大小保持不变的情况下,我们可以使用Qt自动布局功能+hide/show操作来实现多个平行窗口的切换效果。因此本以为很容易就能实现这种折叠效果,但事与愿违,碰了点小钉子…

2023-06-06 20:45:00 2200 1

原创 工具/使用脚本修改windows本地IP地址

为避免在局域网和Intert之间切换时的繁琐修改过程。使用Windows脚本实现动态IP地址和静态IP地址的灵活切换;实现指定网卡的禁用或启用。

2022-11-22 11:05:11 1261

转载 异常处理/深入理解C++中的异常处理机制

增强错误恢复能力是提高代码健壮性的最有力的途径之一,C语言中采用的错误处理方法被认为是紧耦合的,函数的使用者必须在非常靠近函数调用的地方编 写错误处理代码,这样会使得其变得笨拙和难以使用。C++中引入了异常处理机制,带来了哪些好处呢?C++异常的使用场景有什么要注意的?

2021-08-19 23:49:02 406

原创 代码工程 /Qt /5.9.3源码编译

Qt 5.9.3 源码编译,未完待续..

2021-05-28 21:56:52 929

原创 网络通信-TCP/IP及OSI基础分析

分析TCP/IP与OSI七层模型的既有层次关系及历史关系!分析网络通信的硬件资源...

2020-10-29 23:41:18 310

原创 代码工程/Qt 开发环境提升(2)

单步调试结构体的局部变量,断点跳转异常?Macro name is a reserved identifier 告警?QtCreator 无法使用高级搜索?uint/quint32无法查看指定变量的内存?

2020-10-20 23:37:46 720

原创 指数/对数/WIN10计算器

由x产品的灵敏度计算公式,引出对数函数和指数函数的回顾学习,并讲解了如何在PC计算器软件中执行指数和对数运算..

2020-07-25 20:01:35 2834

原创 嵌入式-存储器类型详解

区分,ROM、RAM、NorFlash、NandFlash、eMMC、DDR、内存、外存..

2020-07-16 23:12:06 1892

原创 Qt/GUI-灵活使用UI文件

该文尝试QtIDE下ui文件的本质,包括ui文件内容接结构解析,ui文件编译后的中间文件结构解析。如何混合使用QtUI设计器和手写布局编写GUI界面,以达到较好的开发效率和人机效果。灵活的将多个UI绘制显示控制在一张窗口中。

2020-07-03 23:08:19 1110 1

原创 实现无线局域网内的文件共享

两台电脑连到同一个无线网络却ping不通?如何在无线局域网内实现文件共享传递?

2020-06-24 20:50:49 4994 1

Google material design icons.zip

原文地址https://www.iplaysoft.com/google-material-design-icons.html,我上传至此纯粹是个人原因,因为公司网络不支持从百度网盘下载文件。这套 Material Design 风格图标包含了各种类型,如动作、警告、状态、通讯、编辑、设备、文件、图像、地图、导航、通知、社交、开关等等,覆盖面广,而且整套图标都是黑白纯色,简约扁平化风格,很适合目前的 Android、iOS、Windows 10 等系统的潮流,应该可以解决大部分人的需求了。

2019-06-18

ActivePerl5.26.1.2601.zip

主要是为了Qt源码编译,我用4.8.6的Qt。Perl借取了C、sed、awk、shell 脚本语言以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。ActivePerl一个perl脚本解释器。其包含了包括有 Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套开发工具程序,可以让用户编写出适用于unix,windows,linux系统的CGI程序来。

2019-06-18

空空如也

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

TA关注的人

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