自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL分页查询

每次最多查询m条记录,从第n条开始查询(默认从0开始)每次最多查询n条记录,从第m条开始查询。

2025-05-22 23:11:05 107

原创 SQL脚本规范

注:加入指定编码可以防止不同系统上出现乱码。示例(demo换成实际数据库名)主要作用:数据库的备份和迁移。修改某个表的数据字符编码。每一个sql语句必须与。

2025-05-18 22:39:09 279

原创 Linux的MySQL头文件和找不到头文件问题解决

2、点击“跨平台”->“连接管理器”->“远程标头IntelliSense” ->“更新”如果以上都解决不了可能是MySQL没有安装好,重装吧。1、“项目”->“清除浏览数据库错误”2、“项目”->“重新扫描解决方案”刚连接时我们可能会出现这个问题。1、点击“工具”->“选项”

2025-05-18 21:39:59 456

原创 OpenCV透视变换

OpenCV 透视变换是将图像从一个视平面投影到另一个视平面的过程,也叫投影映射 ,属于空间立体三维变换。它基于透视原理,通过 3×3 的变换矩阵作用于图像像素坐标来实现映射转换 ,能模拟人眼或相机镜头观看三维空间物体时的透视效果,改变图像视角和形状。常通过选择原始图像和目标图像上四个非共线对应点,用函数计算变换矩阵,再用函数对原图像进行变换。

2025-05-17 23:30:00 357

原创 OpenCV级联分类器

OpenCV 级联分类器是一种基于 Haar 特征、AdaBoost 算法和级联结构的目标检测方法,通过多阶段筛选快速排除非目标区域,实现高效实时检测(如人脸、行人等)。

2025-05-17 23:00:42 527

原创 帧差法识别

视频通过闪过x帧画面来实现,帧差法就是利用两帧之间的差异找出。也就是移动目标识别。

2025-05-16 00:02:42 519

原创 Ubuntu摄像头打开失败

2、 进入设置界面点击USB控制器,更改USB兼容性为3.1。如果遇见上面Ubuntu连接摄像头但无法打开如以上。打开终端控制台,输入以下命令。1、点击虚拟机->点击设置。

2025-05-14 17:51:28 408

原创 初入OpenCV

OpenCV是一个开源的跨平台计算机视觉库,它实现了图像处理和计算机视觉方面的很多通用算法。应用场景:目标识别:人脸、车辆、车牌、动物;自动驾驶;医学影像分析;视频内容理解分析:文字识别、公众人物识别、识别各类物品。

2025-05-14 00:13:57 913 2

原创 线程池技术

线程池就是在任务还没有到来前,预先创建一定数量的线程放入空闲列表。这些线程都是处于阻塞状态,不消耗CPU,但占用较小的内存空间。当新任务到来时,缓冲池选择一个空线程,把任务传入此线程中运行;如果缓冲池已经没有空闲线程,则新建若干个线程。当系统比较空闲时,大部分线程都一直初一暂停状态,线程池自动销毁一部分线程,回收系统资源。

2025-05-07 23:06:28 468

原创 线程池封装

【代码】线程池封装。

2025-05-07 23:05:53 564

原创 DEV-C++安装教程

4、选择安装路径,安装到除系统盘C盘以外的任意盘,如:D、E,点击Install。6、选择简体中文,点击Next。7、默认选择即可,点击Next。8、桌面显示此图标代表安装完成。3、如图选择,点击Next。2、点击I Agree。5、点击Finish。

2025-05-02 00:16:39 188

原创 socket-IO复用技术

1、阻塞I/O2、非阻塞I/O3、I/O复用(select和poll)4、信号驱动I/O5、异步I/O。

2025-05-01 21:16:59 546

原创 epoll函数

实例中监控的文件描述符上的事件发生。当有事件发生时,该函数会返回发生事件的文件描述符数量,并将这些事件的信息存储在。实例进行控制操作,比如添加、修改或删除要监控的文件描述符及其对应的事件。:表示等待指定的毫秒数,如果在这段时间内没有事件发生,则返回。成功时返回发生事件的文件描述符数量。数组的最大元素个数,即最多能存储的事件数量。:表示对应的文件描述符可写(可以写入数据)。结构体的指针,用于指定要监控的事件类型。:表示对应的文件描述符可读(有数据可读)。实例,返回一个文件描述符,后续的。

2025-05-01 21:16:31 807

原创 互斥量函数组

成功时返回 0,出错时返回错误码。成功时返回 0,出错时返回错误码。成功时返回 0,出错时返回错误码。成功时返回 0,出错时返回错误码。:指向互斥量属性对象的指针,若为。:指向要初始化的互斥量的指针。:指向要锁定的互斥量的指针。:指向要解锁的互斥量的指针。:指向要销毁的互斥量的指针。

2025-04-27 22:10:25 247

原创 信号量函数

pshared:表示信号量的共享方式,0 表示在同一进程的多个线程间共享,非 0 表示在不同进程间共享。归还自己占有的一切资源,在清理信号量的时候如果还有线程在等待他,用户就会收到一个错误。函数调用成功,它将返回 0,表示信号量的值已经成功增加,并且可能唤醒了正在等待该信号量的线程。sem:初始化的信号量对象的指针作为参数,用来改变该对象的值。sem:初始化的信号量对象的指针作为参数,用来改变该对象的值。sem:初始化的信号量对象的指针作为参数,用来改变该对象的值。sem:指向要初始化的信号量的指针。

2025-04-27 22:00:38 421

原创 Linux多线程技术

在一个程序里的多执行路线就是线程。线程是进程中的最小执行单元,可理解为 “进程内的一条执行流水线”。

2025-04-25 23:03:46 557

原创 线程函数库

是 POSIX 线程库(pthread)中的一个函数,用于创建一个新的线程。

2025-04-25 23:02:09 440

原创 VS中回显109:对‘pthread_create’未定义的引用

用VS2022写多线性程时需要使用pthread_create()用于创建线程,即使项目里加了所需要的头文件#include <pthread.h>但编译却报对pthread_create未定义的引用的错误,这是因为没有包含所需要的库项目右击属性在库依赖项中添加pthread。

2025-04-23 22:18:45 287

原创 客户端本地搭建

主要用于客户端套接字向服务器发起连接请求。

2025-04-22 23:22:07 203

原创 Linux中的信号量

信号量是一种用于多进程 / 线程同步的整数变量,用于控制对共享资源的访问。凡是遇到内存操作就可以实现加锁。

2025-04-20 23:08:02 791

原创 Linux中的管道

管道是一种进程间通信的方式。管道是一种半双工通信机制,数据只能读或写,如果要读写同时进行就要创建两个管道。

2025-04-18 23:08:19 260

原创 fork函数不共享内存

从上面结果中我们可以很清晰的发现我的子进程和父进程中都通过一个int num=10;来实现定义的,但我在子进程中改变了num的值,我们的父进程中num的值并不会改变的这就印证了上面,共享相同的逻辑地址,但并不共享物理内存。函数创建子进程时,父子进程刚开始确实共享相同的逻辑地址空间里的数据(看起来好像是共用一个数等变量值),但实际上它们并不共享物理内存。我们来看一个代码示例。

2025-04-16 01:32:58 200

原创 sprintf函数

将格式化的数据写入一个字符串中并且不会像printf一样输出在屏幕上,因此在C语言中我们并没有C++中的String类型所以我们可以将它用来拼接字符串等操作。

2025-04-15 23:54:15 247

原创 服务器本地搭建

它用于创建一个新的套接字(socket)。

2025-04-14 22:38:20 1688

原创 网络基础和socket

1、创建链接时会判断通信双方是否在线(面向连接)2、传输介质:IO流(字节流)3、传输大小无限制。

2025-04-14 21:59:57 380

原创 解决VS2022中scanf报错C4996

因为本人已经很少写小案例了,所以就用这个办法解决方便点,如果大家还在学习阶段经常要写代码的话网上也有一些永久解决的办法,大家可以自己去看看。这个的原因是因为新版的VS认为scanf不安全,要去使用scanf_s,但在C语言中就需要scanf,所以我们只要以以下步骤解决就可以了。

2025-04-13 00:11:24 294

原创 Java EE期末总结(第六章)

IOC装配流程在代码中的对应就体现在@Service这个注解依赖注入在代码中体现在 ,比如。

2025-04-12 22:58:28 413

原创 Java EE期末总结(第五章)

在 Spring MVC 中,通过在 Java 类上添加注解来标识该类为一个控制器。// 控制器方法将在这里定义。

2025-04-12 01:01:39 400

原创 共享内存(与消息队列相似)

共享内存在进程间传输数据的效率极高。概念:在物理内存中开辟一块区域,让多个进程能将其映射到各自虚拟地址空间,实现对同一块内存的共享访问。原理:先由进程创建共享内存获标识符,其他进程再将其映射到自身地址空间,然后进程就能像访问普通内存一样对其进行读写操作。优点:数据传输快,因为无需像其他通信方式那样进行数据复制;能支持大量数据传输,适合对大块数据的频繁访问。缺点:需进程自行处理同步和互斥问题,以避免数据冲突;使用不当易引发程序错误和内存泄漏,且不支持跨机器的进程通信。应用场景。

2025-04-11 00:14:02 939

原创 消息队列(IPC技术)

msgget函数的主要功能是创建一个新的消息队列或者获取一个已经存在的消息队列的标识符。消息队列允许不同的进程通过发送和接收消息来进行通信,是一种强大且灵活的进程间通信方式。msgsnd是一个在 Unix 和类 Unix 系统中用于消息队列操作的系统调用函数,其主要功能是把消息添加到指定的消息队列里。它是 Unix 和类 Unix 系统中用于消息队列操作的系统调用,主要功能是从指定的消息队列中接收消息。

2025-04-10 23:31:42 1154

原创 Java EE期末总结(第四章)

一、ORM框架一、ORM框架我们先来了解以下什么时ORM,下图就是一个很直观的展示了ORM之间的关系。ORM框架就是对JDBC进行封装的持久层框架,在实体类对象(POJO对象)与SQL之间通过配置映射文件建立映射关系,将SQL所需的参数及返回的结果字段映射到相应的实体类中。二、MyBatis与HibernateMyBatis和Hiberbate都是非常流行的ORM框架,前者对JDBC提供了较为完整的封装,后者主要是对实体类对象与SQL之间的映射关系。1、 概念与设计理念。

2025-04-06 22:28:00 1292

原创 Java EE期末总结(第三章)

定义:1、字段私有,public方法来访问私有字段set/get/is等方法2、最好提供一个无参的构造3、最好实现一个接口概念:JavaBean一般只封装数据,不包含复杂逻辑的方法属性:如果Java Bean中只要有一个get/set方法则我们就称为该Java Bean中有一个xxx属性。(例如下方示例我们就可以说Student这个JavaBean有name属性)注:其实这个对于我们来说这是很熟悉的,无参构造和带参构造在我们C++中如果你的代码规范的话,这两个是很好理解的;

2025-04-05 23:45:16 1219

原创 Java EE期末总结(第二章)

目录一、JSP页面里的page指令二、JSP脚本元素 1、全局声明<%!……%>2、表达式<%=……%>3、脚本程序段<%……%>三、文件包含指令include四、引入标签库指令taglib五、JSP动作标签1、包含文件动作标签2、请求转发动作标签3、JavaBean动作标签4、Java插件动作标签六、向客户端输出信息对象out七、响应对象response八、请求对象request九、会话对象session十、全局对象application 十一、上下文对象pageContext十二、Cookie信息的建立

2025-04-04 22:47:28 943

原创 Java EE期末总结(第一章)

JavaScript(JS)是用于编写页面脚本、控制网页客户端行为的脚本语言 ,目前浏览器内嵌 JS 引擎执行客户端脚本,也可借助扩展库(如 jQuery )或第三方 JS 脚本。:Date(日期 / 时间)、Array(数组)、String(字符串) ,本质是类,需用。如果我们要进行查询就要使用如下语句,他的返回值是数据库查询到的结果集。:用于存放文档的元数据,像页面标题、字符编码、外部资源引用等。:包含了在网页上可见的所有内容,如文本、图片、链接等。(数学) ,无需实例化,可直接使用其方法和属性。

2025-04-04 00:24:08 1161

原创 Qt中信号带参传值

在我们的Qt信号中是可以进行参数的传递的,不过格式上与写普通函数不同。这是头文件中定义一个含参信号和一个含参槽函数我们再来看它们两个的绑定。第一行的clicked()和on_btn_clicked()就是普通无参信号和槽的绑定;第二行就是上图中两个带参信号和槽函数的绑定,要注意的是,我们只要写出参数类型,而不需要写对象。但定义的时候是要写出具体的形参对象的。我们还可以写成新版信号与槽的连接形式。

2025-03-30 21:43:14 285

原创 命名管道的创建与使用(mkfifo函数)

它可以在不相关的进程之间进行通信,因为它有一个对应的文件名,存储在文件系统中,进程可以通过该文件名来访问它。

2025-03-30 20:59:31 572

原创 匿名管道的创建与使用(pipe函数)

主要用于在进程间创建管道以实现通信。

2025-03-30 19:48:21 291

原创 信号集操作函数

set:指向 sigset_t 类型的信号集,该信号集包含了要操作的信号。若 set 为 NULL,则不改变当前的信号屏蔽字,仅把当前的信号屏蔽字保存到 oldset 中。oldset:指向 sigset_t 类型的信号集,用于保存调用 sigprocmask 之前的信号屏蔽字。SIG_UNBLOCK:从当前的信号屏蔽字中移除 set 所指向的信号集中的信号,也就是解除对这些信号的阻塞。SIG_BLOCK:把 set 所指向的信号集中的信号添加到当前的信号屏蔽字里,即阻塞这些信号。

2025-03-29 18:25:34 802

原创 添加QSS

添加前缀添加资源文件这就完成了,可以在右半部分开始设计代码中向对象设置qss,添加头文件代码中。

2025-03-28 23:42:25 223

原创 Qt添加资源文件

注意:这种方式只支持Qt自己的包,第三方的包的函数无法使用这个方式加载路径。工程文件下Add New。

2025-03-28 22:48:20 163

Windows中VS2022配置Ubuntu的C/C++编译环境

Windows中VS2022配置Ubuntu的C/C++编译环境

2025-03-24

空空如也

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

TA关注的人

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