自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

如山石的系统虚拟化之路

系统虚拟化,主要包括存储、网络

  • 博客(333)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 DRY编码原则

在一个系统中,每一处知识都必须单一、明确、权威地表达。这一点不仅在代码过程当中,在数据结构,甚至文档当中都需要遵守这一原则。}EXAM;有了开始,结束时间,就不需要时长了。

2023-05-01 15:19:20 630

原创 有始有终的编码原则

代码中时时处处都在遵守这一原则,代码才能清晰,代码才能简单。

2023-04-23 20:44:33 582

原创 c++的队列的用法

队列是操作受限的线性表 限定在只能在表的一端进行插入 在表的另一端进行删除。和日常生活中的排队是类似的道理。

2024-03-04 16:45:16 736

原创 opencv判断二值的情况

先说说理论:什么叫图像的二值化?二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中灰度值的范围为0~255,在二值化后的图像中的灰度值范围是0或者255。黑色:二值化后的R = 0二值化后的G = 0二值化后的B = 0白色:二值化后的R = 255二值化后的G = 255二值化后的B = 255那么一个像素点在灰度化之后的灰度值怎么转化为0或者255呢?比如灰度值为100,那么在二值化后到

2024-02-23 13:37:33 479 1

原创 opencv判断灰化情况

灰化是怎么判断的呢?灰化图在opencv中是单通道图,但保存时,会转化成RGB模式的图。所以,再加载,通过通道数,判断是否是灰度图,这样是不对的。解决方法:首先,一个图片在保存时,其实是以RGB模式保存的,这也是操作系统默认的保存方式。那一个灰化图在保存时,会默认转化为RGB模式,怎么转化,其就是把一个灰化值重复为三份,分别对应RGB,这样就可以了。如图所示:知道这个情况了:就知道如何判断一个图是否灰化了:那就是:R=G=B就可以了。

2024-02-22 16:45:38 753

原创 opencv图像的本质

OpenCV是一个跨平台的库,使用它我们可以开发实时的计算机视觉应用程序。它主要集中在图像处理,视频采集和分析,包括人脸检测和物体检测等功能。数字图像在计算机中是以矩阵形式存储的,矩阵中的每一个元素都描述一定的图像信息,如亮度、颜色等等。数字图像处理就是通过一系列操作从矩阵数据中提取更深层次信息的过程。

2024-02-22 10:33:43 641

原创 c++中浮点类型比较的理解

所以,我们还得到另外一个重要的经验:使用浮点数进行相等(==)和不等(!=)比较的操作通常是有问题的。浮点数的相等比较,一般总是使用两者相减的值是否落在0的邻域中来判断的。

2024-02-18 17:11:56 631

原创 qt内存自动释放的两种情况

通过上面实验可知,成为子控件,或者成为布局中的控件,都会跟着释放。

2024-01-31 17:33:42 1240

原创 谁适合选择虚拟化

虚拟化通过软件在计算机硬件之上构建一层抽象层,允许硬件的处理器、内存、存储硬盘等被划分成多个虚拟计算机,也就是俗称的Virtual Machine(VM),每个VM运行各自的操作系统,即便他们实际都是运行在底层计算机硬件上的一部分,各个VM也表现为互相独立的计算机。由此可见,虚拟化能够更有效地利用计算机物理硬件资源,能够为一个机构在硬件上的投资带来更大的回报。如今,虚拟化是企业在IT架构上的标准做法,同时也是云计算的主要驱动技术。

2024-01-22 17:27:43 412

原创 无法解析的外部符号ShellExecuteExW

SHELLEXECUTEINFO参数说明://结构大小,sizeof(SHELLEXECUTEINFO)//指定结构成员的有效性HWND hwnd;//父窗口句柄或出错时显示错误父窗口的句柄,可以为 NULL//指定该函数的执行动作//操作对象路径//执行参数,可以为 ULL//工作目录,可以为 NULLint nShow;//显示方式//如果设置了 SEE_MASK_NOCLOSEPROCESS ,并且调用成功则该值大于32,调用失败者被设置错误值。

2024-01-17 17:45:05 455

原创 Qt5插件开发入门+示例

最终成功的调用了插件,感觉非常的不错。其利用了C++虚函数的特性,实现了运行时绑定,非常的不错!!!用图说明一下虚函数:这样就实现了接口与具体实现的彻底分离。下面的关于虚函数的介绍:1.虚函数的简介由于编写代码的时候并不能确定被调用的是基类的函数还是哪个派生类的函数,所以被成为“虚”函数。用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。

2024-01-09 14:51:34 1144

原创 下载window操作系统的网站

作为程序员经常遇到需要装操作系统的事,想找一个纯净的操作系统真不是一件容易的事,在网上一搜都是装插件,装广告的那种,根本不是原版,前段时间同事给我分享了一个,真心不错,的确是原版的,记下来:网页情况:

2024-01-03 09:38:35 450

原创 C++一个关于delete的幼稚错误

这个错误实在是蠢啊!没有细想,直接写了delete this;这说明基础还是不扎实。##delete 的工作方式delete 运算符将调用函数运算符 delete。对于不是类类型(class、struct 或 union)的对象,将调用全局 delete 运算符。对于类类型的对象,如果 delete 表达式以一元范围解析运算符 (:: ) 开始,则会在全局范围中解析解除分配函数的名称。否则,delete 运算符将在释放内存之前为对象调用析构函数(如果指针不为 null)。

2023-11-22 15:23:44 162

原创 opencv第一个例子

这是用用QT+opencv实现的一个完整的展示图片的例子,包括了项目的配置文件,完整的代码,以用做初次学习opencv用。

2023-11-02 17:09:29 278

原创 什么是帧呢

在处理图片时,经常听到帧的概念,什么是帧呢?

2023-09-01 15:29:47 1096

原创 QT进度条代理的实现

这个效果实现的关键在于:QItemDelegate,该类提供了在视图中绘制项目数据和编辑项目模型中的数据的函数的默认实现。提供了在QAbstractItemDelegate中定义的paint()和sizeHint()虚拟函数的默认实现,以确保委托实现视图所期望的正确基本行为。您可以在子类中重新实现这些函数,以自定义项的外观。这一个函数的实现,这一个函数的目的就是控件状态,包括默认状态等状态,简单来说就是显示的样子。

2023-06-30 16:45:53 856

原创 字符与代表数据的转化

一开始想时,感觉有些复杂,知道其本质了就简单了了,什么本质,字符在计算机里就是存在数字,这种对应关系就是ASCII表。比如字符 ‘B’ 其对应的数值应该为11,那其:‘B’-‘A’=1,那再加上10,不就是11了吗?再比如’1’,其对应的数据应该为1,那’1’-‘0’=1一切字符都是两个字节的数值,并且是按顺序来的,理解了这个本质,就非常简单了。

2023-06-29 15:56:47 192

原创 QT树的实现

其实这里就是这样一个类似的数据结构:int row;int rank;

2023-06-27 11:38:26 849

原创 QString的解析与常用功能

QString存储字符串采用的是Unicode码,每一个字符是一个16位的QChar,而不是8位的char,所以QString处理中文字符没有问题,而且一个汉字算一个字符。count()、size()、length()都返回字符串的个数,这3个函数是相同的,但是要注意,字符串中如果有汉字,一个汉字算一个字符。QString只要赋值,就在字符串的末尾自动加上"\0",所以,如果只是要判断字符中的内容是否为空,常用isEmpty().str2 = str1.section(",", 0,0);

2023-06-15 14:21:58 993

原创 movetoThread应用的注意点

这个东西怎么说呢?movetoThread()函数,只是移动了非new的成员变量与子对象,也就是未移动非子对象的new变量,在QT中变量不能跨线程,所以跨线程的变量都会报错,有的报:这一个错误不需要加this,因为,this是主线程的this,去掉this即可解决问题。这一个错误,需要加this,因为this是目标线程的this,加了this,Timers也移到目标线程了,这样就在一个线程中了。其本质是一样的就是,变量跨线程(父与子跨线程也是不允许的,实质也是变量跨线程)

2023-06-15 13:52:33 550 2

原创 Qt推荐的多线程的理解

其理解的关键就是在于thread默认运行着exec(),时刻监听着事件队列的情况,如果队列里有事件,就取出来执行;有了这一个事件队列,可比原来直接在run()当中执行方便多了,这样也理解了moveToThread方法的含义,其含义就是把整个对象放到这一个线程里,这个线程通过exec()监听着事件队列,如果事件队列有事件,就取出来执行,非常的方便,当然也可以放一个QTimer控件在线程里,进行定时执行,也是可以的。

2023-06-13 17:06:25 1120

原创 第二次回家

回想时,那时在北京的生活,最大的感受,就是一个字:累。

2023-05-21 18:28:50 106

原创 c++网上学习资源

在网上学习或者参考的C++资源。相对其他语言来说,C++ 算是难度比较高的了,这一点无法否认。但是如果能有一些好的网站,则会让 C++ 的学习事半功倍。那就来介绍几个最常用的(最好的)吧,包含了参考手册、教程、框架/库列表这些资源非常好,有了这些好资源,可以说是站在巨人肩上了。

2023-05-19 15:09:05 800

原创 Qt消息的理解

官网这样说:当对象的内部状态以某种方式发生变化,对象的客户端或所有者可能会感兴趣时,对象就会发出信号。信号是公共访问函数,可以从任何地方发出,但我们建议只从定义信号及其子类的类发出信号。当发出信号时,连接到它的槽通常立即执行,就像普通的函数调用一样。当这种情况发生时,信号和槽机制完全独立于任何GUI事件循环。一旦所有槽都返回,emit语句之后的代码就会执行。当使用排队连接时,情况略有不同;在这种情况下,emit关键字后面的代码将立即继续执行,而插槽将稍后执行。

2023-05-17 14:25:10 447

原创 与小我11岁的人一次PK

怎么说,有人离职让人难过,但不是他走,就是我走。这就是内卷。他没弄出来,他就是技术不行吗?应该说只是我幸运一些,我的技术与那个项目更为匹配些。反过来说,只要踏实干,谁都干不错这些事都别在意,人活在世上,其实就为了经历各种事。

2023-05-13 20:06:58 1466 2

原创 QString的解析与常用功能

QString存储字符串采用的是Unicode码,每一个字符是一个16位的QChar,而不是8位的char,所以QString处理中文字符没有问题,而且一个汉字算一个字符。count()、size()、length()都返回字符串的个数,这3个函数是相同的,但是要注意,字符串中如果有汉字,一个汉字算一个字符。trimmed()去掉字符串首尾的空格,simplified()不仅去掉首尾的空格,中间连续的空格也用一个空格替换。lastIndexOf()函数则是查的某个字符中最后出现的位置。

2023-05-08 11:50:23 835

原创 Qt 的log输出无法显示文件名行号等信息

在QT项目中,用 qInstallMessageHandler 函数输出log时候,QMessageLogContext 中的文件名,行号等信息获取失败;解决方法:在.pro文件中,添加 DEFINES += QT_MESSAGELOGCONTEXT 即可;

2023-04-23 14:36:35 250

原创 非常量引用只能绑定到左值

先解释左值和右值的区别:从字面意思看,左右值就是在“=”两端的变量或表达式,但其实不是这样的。左值(Location Value):并不是left_value,指的是可以寻址。指的是如果一个表达式可以引用到某一个对象,并且这个对象是一块内存空间且可以被检查和存储,那么这个表达式就可以作为一个左值。右值(Read Value):也就是可读。指的是引用了一个存储在某个内存地址里的“数据”。

2023-04-22 22:30:00 542

原创 Boost的安装

Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。但Boost中也有很多是实验性质的东西,在实际的开发中使用需要谨慎。

2023-04-21 21:04:07 360

原创 工程日记的感悟

其实,想想,工程日记不仅适合工作当中,生活当中,也是需要,人最有价值的就是思想,所以记下来,这就是你的财富。这样,你在这个世界需要一片精神的世界,这就是日记。不经思考的人生,不值得过。

2023-04-15 22:30:30 412

原创 QT程序退出还占进程

程序运行时的样子:程序退出时的样子:其跑到了后台进程里面:程序退出了,但在任务管理器里查看,其从进程里面转移到后台进程了。这种问题,怎么办,代码里,应该释放的也都释放了,为什么会出这个问题呢?在后台的进程,还有时占些cpu,说明的确在运行,的确在做事情。这首先怀疑到了是否线程的问题呢?

2023-04-12 09:23:15 1624 1

原创 com10以上连接报错

首先是QT程序,串口用的QSerialPort,连接com17时报这个错,但连接com4,com5这种串口号,就不报错:非常奇怪,只要是com1…com9都是可以,但在设备管理器改成com10,com11这种两个数字的都会报错。还有这种问题后来查资料,发现是这种问题:当COM口的端口号高于9时,也就是说从COM10往后,serialPortName赋值就不能跟COM1~~COM9一样,C++中COM大于9时,COM前面需要加上\.\COM。如,

2023-04-11 17:31:28 520

原创 链表反序算法

这三个东西,可以理解为数据结构,其它的步骤就是循环了,就是算法了。面试题 20:怎样把一个单链表反序。前一个节点、当前节点、后一个节点。有这三个东西,就可以进行算法了。(1) 反转一个链表。

2023-03-01 17:39:38 164

原创 C++断言让程序有了脾气

简单的说,出现了不能忍受的错误,我只能崩溃,没有别的选择,我是有脾气的由此,可知,人有脾气是对的,脾气是对人的种保护,程序也是一样的。

2022-08-26 19:05:54 855 2

原创 C++静态变量为什么定义在类外

C++ 的静态成员变量为什么一定要在类外定义函数如下,在C++中声明静态成员变量的时候,在类中只是进行了声明,并没有实际的申请出指针的内存,真正的内存是定义初始化的时候才会进行内存的申请为什么这样呢?因为static类型的变量都是随着类的,因此不能随着对象的创建而申请内存,所以需要单独的进行类外定义,在定义的时候C++编译器会申请内存给静态指针。如图所示:其是不属于对象的,所以不能随着对象创建,所以只能在类外进行定义。...

2022-08-25 18:36:34 792

原创 qt的表格里放控件

综合来说实现挺简单的,关键一步就是在父窗口上生成控件,在父窗口生成控件,体现到界面上,就是,控件成为了父窗口的一部分,然后,再放到指定位置就可以了。创建控件时,可以指定停靠在某个父窗口上面,这时控件将作为子窗口被束缚在其父窗口的内部,并伴随父窗口一起移动,隐藏,显示和关闭;否则,该控件将作为独立窗口显示在屏幕上,且游离于其它窗口之外。

2022-08-23 19:07:51 932

原创 qt的子窗体调用父窗体的函数

在QT开发中,用遇到子窗体,调用父窗体函数的情况。一般都是父窗体调用子窗体,但反过的情况也是有的,可以见得编程什么情况都有如果交互引用,编译都过不了。通过在头文件当中,声明类,这里是这样声明的:class Dialog;这个类就是父窗体了。DialogSon1:这个类是子窗体父窗体的方法实现如下,现在就是想实现,子窗体如何调用父窗体的这一个函数: ##2.2、通过parentWidget()获取父窗体现在开始调用这一个方法,先获取父窗体,并调用父窗体的方法就可以了:

2022-08-22 17:47:33 3004 3

原创 Linux C 的多文件编译

过程是很简单,就是一个include cal.h头文件不就可以了吗?那程序是如果找到cal.c里面的max函数的实现呢?那是因为gcc会在当前路径找这些函数实现,这里就是在cal.o里面找到max的函数实现,然后,然后把声明的函数max与实现函数的max,链接起来,这就是链接阶段的任务。当然,不仅找当前路径下的,还会去找系统的默认路径/usr/lib/下面找这个,我以前也疑惑,其是怎么找到函数实现,其实,就是这样,一点一点查找的,然后再链接到声明,就这么简单。

2022-08-21 18:27:18 1059

原创 c语言指针的指针

指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。C 中指向指针的指针一个指向指针的指针变量必须如下声明,即在变量名前放置两个星号。例如,下面声明了一个指向 int 类型指针的指针:int **var;......

2022-08-12 18:50:48 2589

原创 C++的map用法

map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个中,每个学生的学号跟他的姓名就存在著一对一映射的关系。.........

2022-08-11 10:10:28 1794

毕业设计-临沂大学毕业论文模板

1、这是05年临沂大学的毕业论文模板 2、论文的结构、具体格式,都有详细的说明

2024-03-01

汇编编程+masm32+helloworld例子

1、在window10上测试通过 2、有gui输出helloworld和console输出helloworld 3、详细的注释 4、通过这个例子可以基本知道masm32程序的结构和用法

2024-02-28

qt-C++开发例子3-演示了元对象的用法

1、Qt的元对象提供 对象之间通信的信号与槽机制、运行时类型信息和动态属性系统 2、这个例子通过对人年龄的设置的例子,体现了元对象在QT中的应用 3、这个例子就体现了元对象系统

2024-02-23

qt-C++例子2+代码化UI设计

1、用代码实现了界面设计,这样才能实现较为复杂的界面 2、包括了布局的实现,按钮,复选框,单选框,文本框的实现 3、功能实现了对字体的颜色设置,下划线,变粗,斜体的设置

2024-02-23

QT+OpenCV+最简单的图片+判断灰化与二值化

1、展示了一个最简单的图片,通过这个图片可以认识到图片的本质 2、提供了判断灰化的方法 3、提供了判断二值化的方法 4、都是实测可以的

2024-02-22

qt-C++例子1+输出HelloWorld

1、最简单的QT程序,编码都是从最简单的hello world!的输出开始学起,这就是最简单的QT程序 2、就实现了在界面上输出HelloWorld,学习QT就从这里开始

2024-02-22

Qt-Qt插件技术-调用插件入门示例

两个小程序: 1、一个是插件程序 2、另一个是调用插件的程序 3、纯代码编写,无设计师的界面开发 4、例子简单易懂 5、相应csdn有文章对此例子进行了说明

2024-01-09

QT-树的实现-利用了QStandardItemModel-简单的Demo

1、非常简单的QT的树的例子 2、在项目中可以在此基础上进行扩展,原理就这些

2023-06-29

软件工程师-实施工程师-行业工程师-运营工程师-十几篇转正申请范文

软件工程师-实施工程师-行业工程师-运营工程师-十几篇转正申请范文

2023-06-15

编程例子-Qt多线程的socket客户端-Qtsocket服务端

1、在原书的例子上添加了客户端多线程的功能 2、socket客户端与socket服务端例子

2023-05-17

数据结构与算法分析C语言描述-课后答案

数据结构与算法分析C语言描述-课后答案

2022-06-17

Axure使用手册_设计人员使用_用于设计原型

第1章 使用元件 1 基础1. 添加元件到画布 1 基础2. 添加元件名称 1 基础3. 设置元件位置/尺寸 2 基础4. 设置元件默认角度 4 基础5. 设置元件颜色与透明 4 基础6. 设置形状或图片圆角 5 基础7. 设置矩形仅显示部分边框 6 基础8. 设置线段/箭头/边框样式 7 基础9. 设置元件文字边距/行距 8 基础10. 设置元件默认隐藏 8 基础11. 设置文本框输入为密码 9 基础12. 设置打开选择文件窗口 10 基础13. 限制文本框输入字符位数 11 基础14. 设置文本框提示文字 12 基础15. 设置文本框回车触发事件 12 基础16. 设置鼠标移入元件时的提示 13 基础17. 设置矩形为其他形状 13 基础18. 设置自定义形状 14 基础19. 设置形状水平/垂直翻转 15 基础20. 设置列表框的内容 15 基础21.   设置元件默认选中/禁用 16 基础22.   设置单选按钮唯一选中 17 基础23.   设置元件不同状态的交互样式 18 基础24.   设置图片文本 19 基础25.   切割/裁剪图片 19 ..............

2022-02-26

程序员职业规划-如何成为优秀的企业人才.ppt

林 锐 博士 1. IT白领的现状 2. IT白领的职业发展 3. 理工科大学教育的缺憾和改进建议 4. 成才要素:学习并应用强势知识 5. 成才要素:提高表达能力 6. 成才要素:提高管理能力 7. 成才要素:提升人格魅力 8. 小结,引申,思考…

2021-12-31

01统计软件用户表数据库详细设计.doc

包括用户表(t_user)、编码类型表(t_codingtype )、用户功能表(t_function)等表,是成熟软件一个设计

2021-12-31

软件开发规范-软件工程师-国家标准-软件开发规范.zip

非常全面的软件开发规范: 包括: 1、测试分析报告编写规范 2、测试计划文档编写规范 3、概要设计说明书编写规范 4、模块开发卷宗编写规范 5、软件配置管理计划编写规范 6、软件需求说明书编写规范 7、软件质量保证计划编写规范 8、详细设计说明书编写规范 9、项目开发总结报告编写规范 10、用户手册编写规范 适用于软件开发者,主要还是侧重文档的规范

2021-12-30

软件美工-图标-软件界面设计者-工作流图标.zip

就是工作流的图标,包括:开始、结束,并流、分流、辅流、子流等图标

2021-12-30

软件设计-工作流设计-工作流详细设计.doc

这是一个工作流的数据库设计文档,特别包括了工作流的设计,非常的重要; 包括内容有: 1、系统层数据库详细设计 2、流程数据库详细设计 对于架构师或者数据库设计师,都有非常重要的启发意义

2021-12-30

项目案例-Java项目-初学者学习java-香香宠物医院.zip

这个资源是一个朋友在培训学校完成的一个项目,包括宠物诊所系统需求和分析.doc、宠物诊所系统设计说明书.doc、代码仅列出的了结构,没有完全实现,对于java初学者可以学习一下设计

2021-12-30

远程工具XShell4(免费版)

xshell4的工具,不限制标签页的数量,现在新的xshell都限制标签页数量,非常的不友好,这个就不限制,我一直用这个,非常不错

2021-12-30

电信基础知识讲解PPT

一、背景知识介绍 二、数字移动通信系统 三、GSM网络架构 四、WCDMA网络架构

2021-12-10

VC++电子收发邮件的原代码

VC++电子收发邮件的原代码 我也没仔细研究过,里面应该有 许多大家学习的地方。

2008-09-05

Delphi基础经典入门.rar

关于delphi学习的好资料,它很系统的讲了Delphi方面的知识,关键是中间穿插着例子,学起来觉得很有意思,不枯燥。

2007-06-27

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

TA关注的人

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