c++
FeboReigns
这个作者很懒,什么都没留下…
展开
-
模板编程中实现 SFINAE(Substitution Failure Is Not An Error)
在C++模板编程中,是一个常用的工具,它依赖于 SFINAE(Substitution Failure Is Not An Error)原则来控制模板的启用或禁用。理解如何工作,可以更清楚地看到为什么在某些情况下等同于void类型。原创 2024-05-28 14:30:57 · 264 阅读 · 0 评论 -
浅析如何从.vcproject 到最终的目标:MSBuild MSVC cl
在整个过程中,MSBuild负责协调和组织构建过程,而MSVC负责实际的编译和链接任务。这种分离允许开发者使用不同的构建引擎(MSBuild)来管理项目,而使用不同的编译器集合(如MSVC)来实际编译源代码。这也使得整个构建过程更加灵活,因为MSBuild可以用于各种类型的项目,而不仅仅是C++项目。这些组件一起构成了MSVC工具集,为开发者提供了完整的C++开发环境。Microsoft Visual C++ (MSVC) 包含了一整套开发工具和组件,用于支持C++开发,包括编译、链接、调试、性能分析等。原创 2024-01-07 02:36:32 · 987 阅读 · 0 评论 -
前置声明避免循环依赖
在这个例子中,Toolnterface.h 和 QToolBase.h 头文件中使用了彼此的前置声明,而实际的类定义和实现则分别在 Toolnterface.cpp 和 QToolBase.cpp 文件中提供。在 main.cpp 中,我们创建了 QToolBase 和 Toolnterface 的实例,并通过 Set 方法建立了彼此之间的引用。当你有两个类互相引用的情况时,使用前置声明可以帮助你避免循环依赖。以下是一个简单的例子,其中包含两个头文件、两个源文件以及一个 main 函数的示例。原创 2023-11-23 00:25:37 · 133 阅读 · 0 评论 -
多线程bind二次封装
【代码】多线程bind二次封装。原创 2023-10-12 11:35:02 · 99 阅读 · 0 评论 -
自引用指针生成链表
【代码】自引用指针生成链表。原创 2023-09-23 02:16:15 · 75 阅读 · 0 评论 -
设计模式GitHub找的好东西
【代码】设计模式GitHub找的好东西。原创 2023-08-20 04:25:13 · 74 阅读 · 0 评论 -
将一个数平均分成N等份
---------------------------------分割线---------------------------------------------------------------------------那么可以分成8个14和,1个8。最平局的方式应该是3个14,6个13。原理就是先整除,然后再将余数分配到每一个上,比如120%9=3。那么就是3个(13+1),其余的都是13。在此基础之上,我想拿到每一份的索引,比如0-14,14-28,28-42 42-55 55-68等等。原创 2023-07-26 17:00:24 · 406 阅读 · 0 评论 -
C语言不同操作系统不同编译器,msvc mingw gcc cmake VS的理解
编译器的编译有两步1 源代码生成汇编码2 汇编语言生成可执行文件的二进制机器码其中的build还有link,我还没搞懂,暂时也不需要那么深入,后续可以去看《编译原理》二进制机器码要先访问操作系统,再由操作系统访问CPU和内存等硬件不同的操作系统有相应的二进制机器码的规范所以不同的操作系统要用不同的编译器在 GNU中(GNU是某个内核为Linux的操作系统,除了GNU还有安卓,内核可以理解成为汽车发动机,GNU和安卓理解为车壳)使用的是gcc和g++编译器在WINDOWS平台中使用的是msvc原创 2021-04-23 22:05:03 · 2140 阅读 · 3 评论 -
QT封装相机的多线程采集(回调采集)
重点是思想和框架把图像采集和图像处理放在线程中 其中图像处理作为call_back原创 2021-05-21 15:05:29 · 3206 阅读 · 0 评论 -
硬件的驱动和sdk的理解与应用
以下内容都是基于windows平台的,基于c/cpp/等我们最近在进行拉曼共焦设备控制系统开发,用到了很多硬件,比如相机,平移台,旋转台,光谱相机等设备。要使用SDK进行开发。/////----------------------------------什么是SDK呢,SDK是软件开发套件,一套东西,一般包括:驱动,文档,include,lib,dll,demo历程,应用软件驱动搭建起计算机和设备沟通的桥梁,没装驱动,计算机无法识别设备,在设备管理器...原创 2021-05-20 15:55:07 · 4024 阅读 · 2 评论 -
使用类的静态指针来实现各模块共用资源共同管理
背景: 在项目中要使用到工业摄像头,还有一个位移台。我们设计的功能复杂又相互嵌套,每个功能模块要访问摄像头的类。这时该怎么设计呢?1 .在每个功能中都初始化一个相机的控制类吗,这样的话,相机被反复初始化,反复 打开,这显然是不行的。因为相机打开以后,第二次就打不开了,因为相机已经被占用,不能再打开,就要关闭再打开,可是关闭以后,第一个功能模块就用不了了,要解决这个问题就要每个功能函数 都要有重复的打开关闭的操作,程序很傻。2. 相机初始化一次,功能模块获取他,不再初始化。 用 exter...原创 2021-05-17 16:11:20 · 319 阅读 · 1 评论