自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 cmake 选择 vs编译器

cmake 配置vs版本

2023-09-08 10:20:23 131

原创 git pull 某一个文件或文件夹

Ubuntu18.04已验证OK。

2023-08-15 10:13:01 1429

原创 VS2017 查看dll

dumpbin 查看dll 导出函数和依赖关系

2023-08-14 15:26:54 196

原创 VS 自动化编译

QQ:2967732156“C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/devenv.com” E:/Pro/Test.sln /rebuild “Release”“C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/devenv.com”E:/Pro/Test.sln/rebuild“Release”中间空格连接devenv.com和

2021-08-24 18:02:17 361

原创 QShareMemory实现应用的单一运行

QQ:2967732156拿到一个应用的开发,第一个考虑的问题是:该应用是不是需要单一运行?诸如,涉及到串口,网络通信,数据库开发,通常此类应用程序都是单一运行的。QT提供了QShareMemory,可以简单且高效的实现单一应用的功能。第一次运行时,应用中创建一块共享内存,第二启动应用,可以访问这块内存,那就说明已经有应用在运行了代码实现如下:#include"QApplication.h"class QSharedMemory;class SingleApplication : pu

2021-08-24 10:39:59 477

原创 闲散一小民

“酩酊大醉” mingding日暮倒载归,酩酊无所知北魏.郦道元 li水经注.沔水》mian

2021-08-16 11:15:44 86

原创 QT 正则表达式

学习11、函数 :indexIn() 返回在待检测字符串中,第一个符合表达式规则的位置captureCount()返回匹配个数,但是不止为何,比capturedTexts()返回list的count少1capturedTexts()返回匹配后的列表,扩张一下QStringList的count和size是一样的2、实例QRegExp rx("(\\d+)(\\s*)(cm|inch(es)?)");// 例如,"inch(es)?" 可以匹配 "inch" 或 "inches" ;? 等价于 {0

2021-07-13 15:17:46 464

原创 QT 串口通信,操作程控电源 Agilent 66312A

背景:用QT来写个串口通信小工具,操作程控电源Agilent 66312A ,能够设置电压,获取电流步骤:1、Agilent 66312A RS-232配置按图中步骤,确保程控电压调制RS-232模式,其他为默认参数。2、QT开发小工具3、总结说明a.不要想着从网上能扒拉出一切需要的东西,QT的串口通信,一搜一大把,但是结合到实际程控电源的,真没找到匹配的。b.一定要阅读程控电源的开发文档,收发的命令都在文档中。c.通过程控电源来获取电流,采样间隔可能不同,但拿到的都是平均电流。最后给出

2021-07-08 17:23:21 1782 2

原创 多相机时,实现相机UVC与HID的绑定

项目场景:相机同时支持UVC跟HID协议,多相机时,如何实现同一个相机UVC的DevicePath和HID的DevicePath的绑定??问题描述:相机同时支持UVC跟HID协议,起初用DirectShow获取devicepath,然后打开控制通路更视频通路。现在补充部分控制命令,走HID协议。单相机时,只需要匹配设备的PID 和VID 即可完美的工作;但是需要接多个相机时,比如两个相机A/B,发现A相机的UVC部分没问题, 但是HID确打开的是B相机。原因分析:取HID的DevicePath只是

2021-07-03 14:35:53 638

原创 函数封装小记

记录一下此时的感受:很多朋友,尤其是刚开始写代码的朋友,基本的操作,就是一个函数干全部,代码行数很多。这样既不利于,他人的阅读,也不利于日后自己的复盘。函数的封装作用:1、功能模块化,1个函数干一个事情2、逻辑层次化,总的实现,会分好多个步骤,步骤次序就是逻辑的分层。总而言之,就是代码更可读,逻辑更调理...

2021-02-05 09:37:17 133

原创 QT Connect/Disconnect

提醒点如下:1、关注connect/disconnect的返回值2、在创建connect时,一定注意位置,确保只创建一次,否则变量没释放,又connect了,emit之后,会多次进入槽函数。3、原则上不需要调用disconnect,因为对象被释放时,会自动释放该对象的connect。切忌注意 “connect创建的次数”,虽然很简单的点,一旦忽略,排查起来也是需要费些功夫的。再往下就可以忽略不看了,因为写的很乱,旨在记录自己遇到的问题。上面是connect & di.

2021-01-26 17:59:10 2198 3

原创 C/C++ 数据类型sscanf崩溃

背景:typedef struct{uint16_t a;uint16_t b;}T;char tokenstring[] = “1,2”;T t = { 0,0};sscanf(tokenstring, “%hu,%hu”, &t.a,&t.b); // C4996cout <<(int) t.a << " " << t.b<<endl;用%d 退出的时候崩溃。需要了解具体的类型的同学,可以查看https://blo

2020-08-29 17:44:54 685

原创 DirectShow IGraphBuilder 反复创建释放,导致内存不断增大

#include <windows.h>#include <tchar.h>#include <atlbase.h>#include #include #include <atlbase.h>#include <dshow.h>#include <ks.h>using namespace std;int main(int argc, char *argv[]){int index = 0;;for (;????

2020-08-29 17:36:15 271

原创 the Segmentation fault 18.04

18.04 报错,16.04就没问题。跟踪代码,发现是string 赋值的问题string devicePath;错误代码:devicePath = string("/dev/")+name;修改成如下格式就okstd::string dpath=string("/dev/")+name;devicePath = dpath;

2020-08-29 17:28:06 116

原创 求平均趣点

在写程序的时候,经常用到求平均,比如循环记录某段代码的执行时间方法A:T =( T1+…+Tn )/n方法B:T=T1;T=(T+T2)/2;…T=(T+Tn)/2;说明:A是全部求和,再取平均;B就很有意思,均值,与下一个采样值,再取均值结论,取均值用A肯定没问题,如果用B就需要考量考量了...

2020-08-29 16:32:34 73

原创 an unhandled exception was encountered during a user callback

如上问题,乍看上去感觉一点头绪没有??但实际上问题在明显不过,“callback”,那么ok,debug调试,复现问题,定位到函数A,发现函数A还真是在回调函数中调用的。A(){p->xxx();}指针调用,崩溃了。so,进一步分析,指针出问题,无外乎没new就用,或者是被释放了又调用。继续跟踪,如上原因,确实是在别的地方释放掉了,然后又调用来。...

2020-08-29 16:28:21 616

原创 USB设备,HID设备,UVC设备,及驱动,概念补漏

1、USB设备USB设备是USB电缆末端的一个硬件,它执行用户功能。可以将USB设备分为USB总线接口、USB逻辑设备和功能设备三部分。主机到设备的连接需要经过多个层和多个实体之间的交互作用,USB总线接口层提供了在USB数据线上数据的底层传输。按照USB设备功能的不同,可以把其分为两大类:集线器和功能设备。集线器(Hub)是USB系统的关键部件,它提供了USB设备和主机之间的电气接口。USB连接器的连接点被称为端口,它用于扩展主机的USB端口,USB设备(包括功能设备和其他集线器)可以通过其下行端口.

2020-08-29 16:13:36 3077

原创 Libusb获取设备描述符,字符串描述符

问题:windows 上用Libusb 获取iproduct字符串时,得到的是iinterface的字符串??原因:https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/hidsdi/nf-hidsdi-hidd_getproductstring

2020-08-29 15:44:05 887

原创 int 转 QByteArray bytes 转float

QByteArray  intToByte(int number){QByteArray abyte0;abyte0.resize(4);abyte0[0] = (uchar)(0x000000ff & number);abyte0[1] = (uchar)((0x0000ff00 & number) >> 8);abyte0[2] = (uchar)((0x00ff000

2018-01-22 10:50:00 1067

原创 QT 局域网聊天 C/S

一个局域网聊天小公举主要涉及:1、C/S架构2、TCP协议3、数据库4、登录界面实现登录、注册、找回密码5、主界面实现用户状态的显示6、聊天界面实现文本及文件的传输

2017-12-08 17:35:30 700 6

原创 QT Opencv 抽奖系统

基于图片或视频,实现人脸识别,制作抽奖 小公举特别感谢:于仕祺老师免费提供的人脸检测库

2017-12-08 17:00:28 685 2

原创 QT tcp server 多线程

QT 编写一个TCP 协议的Server端,支持多客户端连接,一个连接交由一个线程来处理。需要用到 QTcpServer  QTcpSocket QThreadQTcpServer  最主要的一个incomingConnection函数说明由定义就可以知道,当QTcpServer监听到一个可用的连接时,会有一个socket descriptor 。也就是说服务端

2017-12-06 10:59:07 5410 2

原创 innosetup 界面默认选择系统语言

之前的文章中已经做过多语言的安装包今天补充一下,如果获取系统语言,这样在英文系统下,界面显示为英文主要是在做升级包的时候用到,因为升级包不需要在做多语言直接上代码:[Setup]LanguageDetectionMethod=uilanguageShowLanguageDialog=no [Languages]Name: "c

2017-11-09 19:25:20 6751 3

原创 VS + QT +FFTW

最近帮助其他人搞个小东西,用QT实现快速傅里叶正逆变换网上很多需要的C++ fft ifft 有个限定条件,采样点数为2的N次幂,这就导致取任意个数的时候,得出的结果跟matlab的结果不一致。原因是matlab在做变换的时候进行了修正,具体方法不详。这样一来,封装fft  ifft 就不太现实了。那么怎么办呢?万能的网络,要

2017-08-22 10:43:59 1134

原创 QT UDP 多网卡 禁用/启用有线网卡

近期做了个关于UDP广播的应用,笔记本上有有线网卡、无线网卡、虚拟网卡等测试发现,有线的插拔会影响广播的发送,插拔以后,UDP始终是走有线网卡发送,禁用有线网卡,UDP就可以从无线网卡发送出来,具体原因没有仔细研究。为了解决这个问题,采用的方法是如果发现有线拔掉了,就禁用有线网卡,在启用有线网卡。相关代码,后续给出

2017-08-15 15:16:42 2432 1

原创 共享内存---结构体使用

共享内存主要是通过映射机制实现的。  Windows 下进程的地址空间在逻辑上是相互隔离的,但在物理上却是重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。当调用 CreateFileMapping 创建命名的内存映射文件对象时,Windows 即在物理内存申请一块指定大小的内存区域,返回文件映射对象的句柄 hMap。为了能够访问这块内存区域必须调用 MapViewOfFile 函数

2017-08-15 10:56:17 4156

原创 Innosetup 将文件安装到system32 、syswow64下

需求:在安装的时候将制定的文件,安装到system32 、syswow64下win7 64 位电脑 Source: ".\a.dll"; DestDir: "{win}\System32"; Flags: ignoreversion DestDir:不管设定的{win}\System32{sys}为什么都是安装到C:\Window

2017-08-07 15:07:05 3926

原创 innosetup卸载删除文件

需求背景:innosetup原则上是安装哪些文件就卸载那些文件。但实际上往往会在应用的使用过程中,会生成一些日志文件。在卸载的时候,不能删掉,会提示手动清理。这样还是挺影响体验的。解决方法:procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);begin    if CurUnin

2017-07-06 10:10:23 7787

原创 Innosetup 操作ini文件

需求背景:应用是多语言的,由ini文件控制具体是哪一类语言。安装程序也是多语言的,在选定安装包语言之后需要同步更新ini文件里面的语言值ini文件如下:[General]language=en多语言部分http://blog.csdn.net/yuyefuxiao521/article/details/73910642已经说过了下面重点说一下,修改ini 文件的va

2017-07-06 09:51:26 5329

原创 innosetup if else 语句中 end 之后; 讲解

起初一直用的是百度出来的innosetup版本,一直没有注意 if else 语句中 end 之后;的问题,换成Unicode版本之后,原本的可用的脚本竟然出错了。总结一下:if  xx then begin end;if  xx then begin endelsebeginend;单个if语句 end

2017-06-30 10:56:04 1467 1

原创 windeployqt添加QT生成exe的依赖库

第一步:第二步:新建一个文件夹APP用于存放所有的文件,并将exe拷贝进去第三步:切换到APP文件夹下,执行windeployqt   xxxx.exe此方法唯一不好的地方是会添加很多实际不需要的库

2017-06-29 15:26:21 379

原创 innosetup多语言选择,可添加多个

其实很简单:[Languages]Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"Name: "english"; MessagesFile: "compiler:Languages\English.isl"Name: "french"; MessagesFile: "compiler:Languages\F

2017-06-29 15:09:51 2181 2

原创 安装前后,关闭执行程序进程,或者杀掉特定进程

针对之前的一篇博文进行更改,那里的代码确实不好用直接上代码:[Files]; 安装前判断进程,dll文件放在inno的安装目录中Source: compiler:IsTask.dll; Flags: dontcopy noencryption[code]//安装前判断是否有进程正在运行,istask.dll文件放到innosetup安装目录fun

2017-06-26 20:05:30 4840 1

原创 QT获取信号发送者

Calib *  f_sender = qobject_cast(sender());if (f_sender){// do          }说明Calib是自定义的类。如果是取QT自带类替换就好QPushbutton*  f_sender = qobject_cast(sender());

2017-06-19 11:40:47 2375

原创 Inno Setup 获取当前语言的名称,安装完成后,依据名称进行文件拷贝

今天项目上遇到需求如下:安装包中英文可选,应用程序可以根据配置文件实现中英文的切换,默认配置文件中是中文,现在想要的是如果安装包选择了英文,配置文件里面默认就改成英文。有点绕,但应该是说明白了。遇到的难点:1、如何获取安装包的语言类型?2、如何修改配置文件?针对问题1  网上没有太多的说明,最后学习群里的一位朋友,一语道破“ActiveLanguag

2017-06-14 15:54:19 3311

原创 Innosetup 创建快速运行栏快捷方式 win7 win 8 win10 均不可用

[Tasks]Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealoneName: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"

2017-06-07 15:13:21 2323 2

原创 读取文件,判断是否含有固定字符串

项目中,需要通过文件设备,A设备升级文件为a.bin,B设备升级文件为b.bin,不同的设备对应的升级文件是不同的。设备升级时对文件的校验很是重要,单纯的从文件名称校验,是很不安全的,因为可以将任何文件修改成所需文件名称。这里可以认为是“挂羊头卖狗肉”。通常,升级文件中的某些关键字符串,比如a.bin中有的字符串为“helloword”。那么文件检验

2017-06-05 19:10:24 709

原创 MFC 多个RadioButton设为一组 vs2013

需要将多个RadioButton设为一组,组内是互斥的第一步:将radio1、radio2、radio3分为一组方法:设置  radio1  的 属性:  group、tabstop、auto均为true设置  radio2 的 属性: group设为false, tabstop、auto均为true设置  radio3  的 属性:group设为fal

2017-06-03 18:09:51 6077 2

原创 VS2013 MFC checkbox 控件默认选中

方法一:     设该CheckBox控件ID为IDC_CHECK1,     在Dialog类的OnInitDialog函数中//TODO处添加代码:     ((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(BST_CHECKED);     方法二:     为该控件添加BOOL值型控件成员变量m_Check1,在Dialog类的构

2017-06-03 11:17:33 9253

原创 VS2013 MFC 控件中文名称乱码

“资源视图”[Resource View]中找到对话框的ID号,对其右击选择“属性”[Properties],在右边的属性栏中找到“语言”[Language]项,默认是英语(美国),改成中文(中国)

2017-06-03 11:15:43 4888 3

KeySightCtl.zip

KeySightCtl.zip

2021-11-26

ISTask.dll

检测进程,杀进程

2017-06-26

QT 获取USB信息

QT实现获取USB信息,显示到界面,含完整工程

2017-05-10

空空如也

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

TA关注的人

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