- 博客(16)
- 资源 (6)
- 问答 (6)
- 收藏
- 关注
原创 qt/cpp程序实现跨线程/进程异步调用(QMetaObject/QT RemoteObject)
文章目录简介线程调用函数原型简单示例进程调用静态Replica动态Replica简介QT Remote Object(QT RO)进程通信/远端调用功能非常方便,通过qt封装好的异步调用策略能很灵活的实现程序中的各种功能,一般在进程间通信中应用广泛,实现方式和qt的MetaObject异步调用方式有一定的相似性,因此放到一起做一些简单总结和记录。线程调用QT中的QMetaObject提供了一种很便捷的异步调用方式,一般情况我们执行比较耗时的操作又不想阻塞程序的一些既定功能时,使用 QMetaObje
2022-05-22 14:18:40
3755
转载 C++ 结构体(struct)的继承
C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!!有很多人应该已经知道这样一个事实,但总有些不知道的人,看到这些会感到很惊讶。是的,当我第一次注意到这个事实的时候,我也同样很吃惊。既然这些它都能实现,那它和class还能有什么区别?最本质的一个区别就是默认的访问控制,体现在两个方面:1)默认的继承访问权限。struct
2022-02-10 23:53:02
19470
6
原创 C++ SFINAE简介和std::enable_if_t的简单使用
最近整理代码时发现了有人常会使用std::enable_if_t,据说这个是C++14才支持的写法,因此再次勾起了我的整理欲。但要是熟悉std::enable_if的话其实也没啥太大难度,自认为这种使用方式主要提供了一种通过模板偏特化来实现的类型筛选机制,某些情况下在设计复杂工程的泛化处理时能提供一些方便。但能力有限,目前我还没有发现哪些非常典型的使用场景能大幅提升性能。不过整理之前感觉有必要先引入一个很重要的概念:SFINAE,这是英文Substitution failure is not an err
2022-02-10 23:16:48
11220
原创 c++ 11中异步操作与锁的简单学习(lock_guard、unique_lock、condition_variable、recursive_mutex)
在多线程操作中,锁用来保证数据的一致性访问,即各个线程有条不紊的使用某些数据,避免同时操作或同时取值导致出现问题。多线程本来就是为了提高效率和响应速度,但锁的使用又限制了多线程的并行执行,这会降低效率,因此设计合理的锁能保证程序效率。lock_guardlock_guard是一个互斥量包装程序,它提供了一种方便的RAII(Resource acquisition isinitialization )风格的机制来在作用域块的持续时间内拥有一个互斥量。创建lock_guard对象时,它将尝试获.
2022-01-08 02:37:43
1916
原创 线程池原理的简单学习总结
最近项目遇到一些简单的线程管理问题,遂研究学习了一下线程池的管理原理。个人感觉基本思想在于调度开销相对小的线程时,避免创建线程和销毁线程所带来的消耗,或者理解为先创建线程,并维护一个管理函数模板的队列,反复使用已创建的线程来消耗队列中的函数操作,从而实现避免反复创建和销毁线程的消耗。首先感谢github上大神的分享:https://github.com/progschj/ThreadPool对于应用C++ 11中的某些特性,简要整理了一些相关知识:可变模版参数std::bind基本用法和总结对于锁
2022-01-08 01:13:29
143
原创 std::bind基本用法和总结
C++11中提供了std::bind。bind()函数的意义就像它的函数名一样,是用来绑定函数调用的某些参数的。bind的思想实际上是一种延迟计算的思想,将可调用对象保存起来,然后在需要的时候再调用。而且这种绑定是非常灵活的,不论是普通函数、函数对象、还是成员函数都可以绑定,而且其参数可以支持占位符。std::bind函数常用大约有两种函数原型,定义如下:template< class F, class... Args >/*unspecified*/ bind( F&&am
2022-01-07 23:30:50
1400
原创 以调用外部应用(以CMD为例)时是否隐藏黑窗口为例初步了解重定向与匿名管道
实现方法一、使用 _popen()和_pclose()方法 char buf[1024]; string strCmd="ping 192.168.1.1"; FILE *Pipe = NULL; if ((Pipe = _popen(strCmd.c_str(), "r")) == NULL) { return ""; } string strResult; w...
2020-03-05 23:44:29
788
原创 MFC显示窗口时关于GetWindowRect()、GetClientRect()、ClientToScreen()和SetWindowPos()等方法的一些Tips
网上看了一些资料,对于MFC显示位置坐标等说明文档主要是讨论GetWindowRect()与GetClientRect(),由于最近修改公司项目上的一些小问题是遇到相关内容,因此记录一下便于以后查找。感觉网友们形容的已经很详细了,所以在这参考一些MSDN上的说明和网友博客中的一些内容,并小小的测试几个细节问题。对于GetWindowRect()解释在MSDN上写的非常明白:This fu...
2020-01-07 00:15:52
2347
转载 CFile::Open的一些使用说明
CFIIE类是MFC的文件类的基类,它直接提供无缓冲的二进制磁盘I/O设备,并且通过它的派生类可以提供对text文件和内存文件的存取。CFILE与CArchive类一起提供对MFC序列化的支持。CFILE类和它的派生类之间的等级关系,允许你的程序通过多态的CFILE界面对所有文件类进行操作。比如内存文件,或者磁盘文件以及类似的。CFILE和它的派生类用于执行一般的磁盘I/O操作。而OFSTRE...
2019-09-25 21:50:11
4534
原创 ShellExecute、ShellExecuteEx和SHELLEXECUTEINFO 的使用
1、首先是SHELLEXECUTEINFO结构体的说明:在MSDN中:Contains information used byShellExecuteEx.typedef struct _SHELLEXECUTEINFOA { DWORD cbSize; ULONG fMask; HWND hwnd; LPCSTR lpVerb; ...
2019-09-25 21:32:51
1917
原创 在windows下C++使用Native wifi API获取SSID和连接信息
在linux下获取当前连接的信息很是轻松的,但是在windows下相对比较复杂,虽然可以考虑使用cmd命令获取网卡的信息并分析出当前连接的SSID,但是对于网络环境比较复杂的情况下其实我们同样可以使用Native wifi API获取目前的连接信息。原理是通过打开网卡设备获取其连接信息,并提供给我们的程序使用。在此对网上的一些资料做了一些整理和总结。一、首先是我们所需要的结构体:ty...
2019-09-23 20:58:37
6562
2
原创 C++添加防火墙例外——检测目标程序不在例外列表时才进行添加,防止重复添加
程序常通过网络进行通信,有时某些通信端口会被防火墙阻止导致程通信异常,一般情况要关闭防火墙或配置白名单比较麻烦。每次启动通过cmd命令添加防火墙例外可能造成程序经常使用从而多次重复添加同一规则,或程序考到磁盘的不同位置还要重新添加例外规则等。楼主比较懒所以写个简单demo,先查询防火墙,如果白名单中没有目标程序则将其名称和路径添加到例外规则中,如果目标程序已经存在于防火墙例外规则中则直接返回防止重...
2019-08-21 22:07:10
1350
原创 基于图像的三维重建学习(一)坐标系与内外参
因为工作和学习的需要,最近开始接触三维重建的相关知识。所以尽量在自己每学习一段内容后进行一下总结和归纳,方便以后查看顺便和大家进行交流。首先总结一下相机标定方面,一下所说的相机标定是在世界坐标、相机坐标、成像平面坐标、物理坐标平面等等之间的关系以及方法介绍和一些相关概念的解读。而有关相机标定的一些相关算法,包括张正友等各种标定算法在以后的博客中在慢慢写吧。首先介绍一下几个坐标系,上文也提到了包...
2019-02-11 17:23:16
2123
1
转载 视差:disparity与UV-视差:UV-disparity
0.前言因为自己的研究对象是车载视频,对于视频流中的单帧图像做目标检测、距离计算等等。看了一下相机成像原理,后来又看了几篇关于视差、UV-视差的论文: 2002年Labayrade提出了V-disparity: 《Real Time Obstacle Detection in Stereovision on No...
2019-01-04 13:32:13
456
原创 faster rcnn中的Roi pooling层
每次看Faster rcnn的paper都能收获到不少东西,所以这个博客的目的就是为了记录自己看这篇paper的过程中的一些理解。本文为自己根据大家的博客的内容摘取和自己的理解汇合完成:Faster rcnn的整体构架:训练的大致过程:1、图片先缩放到MxN的尺寸,之后进入vgg16后得到(W/16,H/16)大小的feature map;2、对于得到的大小为(W/16,H...
2018-12-01 10:59:19
877
转载 基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN
object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。object detection要解决的问题就是物体在哪里,是什么这整个流程的问题。然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。object detection技术的演进:RCNN->S...
2018-12-01 10:33:01
274
QT Remote Object(QT RO)进程通信/远端调用测试demo
2022-05-22
SetupFactory 9.0.3.0 汉化补丁包(直接覆盖)
2019-10-16
添加防火墙例外
2019-08-21
基于内容的图像检索系统(本科毕设水平)
2018-05-12
MFC中CDockablePane面板停靠到主窗口的消息响应在哪
2020-01-10
mscomm读取十六进制转为十进制显示
2015-06-05
VC++中数值越界导致无法正常显示问题
2015-04-14
vc图像特征值显示问题
2015-04-06
ctooltipctrl有关问题
2015-04-03
图片检索系统代码讲解
2015-03-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人