自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Qt [获取Dump] 使用WindowsAPI实现生成MiniDump文件

客户现场的软件偶发崩溃是程序开发者,比较头疼的事情。如何更快速的定位到问题点和解决掉,是开发应该具备的基本能力。Windows提供了一系列的API,可以记录软件崩溃前的堆栈信息。下面就实现一个生成Dump文件的程序实例。

2024-04-22 14:15:18 288

原创 QtCreator编译CamkeLists工程文件的项目

最近遇到一个项目需要使用开源库,项目是在QtCreator下开发。项目源码工程文件使用CmakeLists,使用QtCreator打开需要先安装cmake,cmake版本要高于工程文件中版本。例如:工程文件中版本3.5>cmake版本3.21。。

2024-04-17 09:57:59 132

原创 相机小孔成像原理推导

推荐博客的地址

2024-04-09 14:23:42 89

原创 通俗易懂:快速理解P2P技术中的NAT穿透原理

http://www.52im.net/thread-1055-1-1.html

2024-04-02 11:01:06 92

原创 【基础篇】Qt+VTK开发环境搭建

VTK网站有大量的程序示例,可以通过手敲代码的形式进行学习。下面就开始使用Qt来完成所有示例。

2024-04-01 17:07:59 701

原创 Qt 状态机使用

Qt 界面设计时,经常遇到一个控件需要表示两种或者以上的状态。可以使用状态机来实现。

2024-03-22 16:53:22 204

原创 从零搭建8位计算机

对于一个纯软件开发的人,想转行进入嵌入式领域,并计划长期深耕下去,电子电路要懂一些。我打算从零开始搭建一个8位计算机,边学边做加深对电路和计算机工作原理的理解。

2024-03-22 16:20:18 318

原创 c++ 学习网站

https://www.cnblogs.com/tengzijian/p/17963081

2024-03-14 15:49:38 296

原创 Qt 【串口通信】跨线程导致问题及解决办法(跨线程接口的使用)

封装的串口类实例化对象,通过moveToThread移动到子线程中运行,想要在任务线程中使用这个串口对象的收发接口,可以使用QMetaObject::invokeMethod这个接口来实现。

2024-03-06 16:32:12 467

原创 【基础篇】初识VTK

VTK(Visualization Toolkit)是 Kitware 公司发布的开源免费软件系统,受到国内外高等院校与科研机构的欢迎,广泛地应用于计算机图形学、图像处理与三维可视化等领域。VTK 独立于系统的图形界面接口(GUI),可方便的嵌入到其他的相关软件中。同时开发人员可以基于 VTK 独立的基础类库开发自己的库函数,拓展 VTK 的应用范围。

2024-03-06 14:43:31 955 2

原创 Qt 【串口通信】跨线程导致问题及解决办法(对外接口定义)

串口的初始化在serialportiml::Init()中实现通过impl->moveToThread(thread1);将impl对象放到thread1线程中执行。实现串口的QSerialPort类的定义和使用都在thread1中。

2024-02-28 15:08:19 607

原创 Qt 【串口通信】跨线程导致问题及解决办法(串口类定义)

工作上遇到需要等待接收对端返回结果,才进行后续处理的情况,可以使用QEventLoop和QTimer::singleShot实现。

2024-02-28 14:30:47 391

原创 ThorlabsPM100x光功率计读取【环境搭建】(Qt)

上一章获取到了开发需要的依赖文件,本节将展开对项目环境搭建的介绍。本项目基于QtCreator+MSVC2017开发。

2024-01-25 17:01:12 451

原创 ThorlabsPM100x光功率计读取(Qt)

光学器件需要测量其光功率值,测量仪器选用Thorlabs PM100USB,吐槽一下,这个仪器德国进口的,真贵,只有一个硬盘那么大,卖到了1万人民币。本次项目使用了两个。

2024-01-25 14:18:16 608

原创 gn + ninjia编译项目移植到QtCreator开发

使用其他编译套件的Qt项目移植到QtCreator中

2024-01-08 21:48:19 887 2

原创 VS远程调试

经常遇到现场问题需要定位,研发工作环境又无法复现。这个时候远程调试可以发挥它强大的功能,在工作机上就可以调试运行在现场环境的程序。

2022-09-20 10:50:35 2868

原创 使用sizeof()计算内存大小,所踩坑

1.问题出现场景软件在运行过程中,发现底层回调上来的字符串数据,会被截断。2.问题原因底层回调数据,经调试数据是完整的。问题出现在客户端软件,并且大概率是字符串拷贝出现的问题。因此找到几处对回调数据拷贝的操作,发现有一处拷贝,使用了sizeof计算字符串长度。问题可能出现在这个计算上,于是,我单独使用demo确认这个计算的结果,结果发现,当我使用未赋值变量进行长度计算时,结果都是32,但是我将变量赋值后进行计算,结果为字符串长度。可以确实是这里的问题。

2022-09-06 23:19:31 173

原创 QtCreator工程转化成VS工程(pro->sln)

默认情况下,即环境变量qmakespec为你装的qt for vs的版本,默认生成的为该版本的vs工程文件。例如,你装的是QT for vs2010,环境变量qmakespec=win32-msvc2010,默认情况下生成的是vc2010的工程文件。2、配置qmake环境变量,确认对应的qt版本。找到qt目录下qmake.exe的绝对路径,将其添加到系统变量中。1、在项目pro文件同级目录下,按下shift+鼠标右键,选择命令行打开。2、命令行输入qmake -tp -vc ***.pro。

2022-08-24 11:28:51 3113

原创 通过注册表修改Windows系统安全级别

4、打开Windows->CurrentVersion->Policies->Associations,删除ModRiskTypes键值。1、Win+R输入Regedit.修改Windows安全提示步骤。3、打开MicroSoft。2、打开SoftWare。

2022-07-15 16:20:17 976

原创 客户端开发界面和任务分离

1、问题引入项目开发过程中,从界面触发某个事件,有网络模块响应处理。界面由高优先级线程处理,耗时逻辑由低优先级线程处理。由于界面弹窗是模态的,后续界面切换需要先关闭弹窗。我在其他线程中调用关闭函数,这样可以关闭模态弹窗,也可以该线程中处理其他耗时任务。但是会偶现崩溃。2、原因多线程中处理模态窗口时,界面线程处理界面事务,不可以跨线程处理。可能导致窗口崩溃,模态窗口显示的时候,除了父窗口不可用之外,其他的窗口都是可用的,如果需要的一个资源在别的地方被释放了,而在模态窗口中使用的时候,没有判断可能就

2022-03-02 13:15:23 105

原创 同一局域网不同网段ip实现通信

1.使用场景电脑使用网段ip为172.23.0.0/16,设备ip为192.168.1.0/24。将电脑和设备通过交换机连接起来,满足了电脑和设备处于同一局域网不同网段,不能进行网络通信。为了能够进行通信,比如,进行设备的密码重置等,都需要能够通信才能完成。2.参考方案可以在电脑的网络设置里的高级配置中,添加一个和设备处于同一网段的ip。需要注意的是,添加的ip之前要先使用ping命令判断局域网中是否存在相同ip的设备,为了避免ip冲突。有时你会发现ping不通的ip,添加之后也有不通的情况。这

2022-02-27 10:53:01 21147

原创 内存映射文件(memory mapped file)使用问题

1、问题使用win32编程时,发现通过"sys/mman.h"引用头文件时,系统提示:无法找到目标文件。2、原因查阅相关资料后,了解mmap函数是Linux上对于内存映射文件技术的实现,Windows上对应的API是CreateFileMapping、MapViewOfFile。所以包含头文件是windows.h,若报重复包含则去掉windows.h即可。3、扩展内存映射文件原理是直接将映射到磁盘省掉一次filesystem的抽象层拷贝,当然也失去了保护。项目中建议使用boo.

2022-02-26 10:17:35 758

原创 Windows 提供的两种字符串比较函数,CompareString、CompareStringOrdinal

我们常会比较两个字符串的大小,C++中,strin提供了strcomp函数用于比较ANSI编码下的字符串大小,Windows下会存在Unicode编码,所以提供CompareString、CompareStringOrdinal这两个函数。#include <iostream>#include "Windows.h"using namespace std;int main(){ ::string str1 = "123"; ::string str2 = "345"; in

2022-02-24 21:19:17 1025

原创 QT完成网络抓包工具Mindump

使用QT设计一个属于自己的WireShark工具,为了更好的完成项目,将项目分为几个阶段来完成1、项目环境的搭建1)采用vs2017+QT5.13.12)QT_Creator+QT5.13.12、工程框架的搭建1)以VS2017为例

2022-02-24 21:16:06 2196

原创 网络数据包(.pacp)文件格式

1、前言经常使用网络嗅探工具,抓取通过特定网卡上的数据包,用来分析网络问题。例如,使用Wireshark工具抓取电脑上的一张网卡的数据并保存,会发现生成的文件是.pacp格式。2、pacp文件格式文件头+ 数据包头+数据 +数据包头+数据 +数据包头+数据 +数据包头+数据+.........数据包格式 结构名称 字节数 作用 文件头 Global Header 24 整个数据流文件,只会有一个 Global Hea.

2022-02-22 23:16:44 2565

原创 Windows系统使用数据监视器收集软件运行数据

创建程序运行数据收集器

2022-01-08 15:23:08 1407

Thorlabs.OpticalPowerMonitor.5.0.4591.730-NSIS.zip

Thorlabs.OpticalPowerMonitor.5.0.4591.730-NSIS.zip

2024-01-25

TL-OPM-Manual.pdf

TL-OPM-Manual.pdf

2024-01-25

空空如也

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

TA关注的人

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