- 博客(52)
- 资源 (4)
- 收藏
- 关注
原创 OrangePi AIpro学习3 —— vscode开发昇腾DVPP程序
配置vscode远程开发环境,讲解DVPP项目构建,从一个最小的程序开始学习DVPP
2024-08-06 15:11:30 1081
原创 opencv c++ 学习1
Opency提供VideoWriter类写视频文件,类的构造函数可以指定文件名、播放帧率、帧尺寸、是否创建彩色视频。
2024-06-17 09:31:12 1360 2
原创 C++对象池设计与实现
线程池、连接池、内存池池化技术共同点提前创建资源,以备不时之需时重复利用,极致的提升性能。由于在实际应用里分配内存、创建进程、线程,都会涉及到一些系统调用,系统调用需要导致程序从用户态切换到内核态,是非常耗时的操作。因此,当程序中需要频繁的进行内存申请释放,进程、线程创建销毁等操作时,通常会使用内存池、进程池、线程池等技术来提升程序的性能。对象池简介。
2024-06-09 10:01:06 1254
原创 python requests模块
将cookieJar转成cookies字典:cookies_dict=requests.utils.dict_from_cookieJar(response.cookies)session实例请求一个网站之后,对方服务器设置在本地的cookie会保存在session中,下一次再使用session请求对方服务器的时候,会带上前一次的cookie。● response.request.cookies 响应对应请求的cookie;● response.request.headers 响应对应的请求头。
2024-05-15 20:09:02 886
原创 《windows核心编程》第4章 进程
进程内核对象的生命周期一定比进程生命周期长,进程没有退出代表进程的进程内核对象一定不会被销毁。每个可执行文件或者DLL文件被装入到某个进程的地址空间,都会有一个唯一的实例句柄,来表示装入后的可执行文件或者DLL,此时把这个可执行文件或者DLL叫做进程地址空间中的一个模块。进程是静态的,进程中真正执行代码的是线程,所以进程必须有一个主线程primarythread。把进程比喻成工厂,把工厂中的人比作线程,工厂给人提供资源(场地、加工设备、原材料),主线程是随进程产生(工厂产生的时候同时产生它的厂长)。
2023-11-02 09:09:21 550
原创 《windows核心编程》第3章 内核对象
每个进程创建的内核对象是一个索引,通过这个索引会在每个进程的内核对象表中找到这个内核对象的内存块,同一个内核对象在不同进程中的句柄是不一样的内核对象用一个句柄来标识。内核对象的内存块位于操作系统的内核空间,应用程序不能直接操作内核对象,需要系统给定的函数来操作内核对象的结构:公用部分(安全描述符、计数)和个性部分windows还没人登录的时候就会创建一个session0会话,windows服务程序在session0中。每当有一个用户登录就会创建一个session。
2023-10-22 17:34:21 727
原创 《windows核心编程》第2章 UNICODE字符
(1) Windows的控制台根据系统非UNICODE编码及位置的设置,控制台在输出中文时默认是GBK编码,控制台输出UTF8字符会变成乱码。采用宽字符输出,这样就避免了控制台字符集的问题(2) 控制台宽字符显示有个必要的条件:控制台的字体应当支持宽字符。将控制台的代码页修改为437(OEM-United States),默认的Lucida Console字体支持宽字符,使用_setmode来设置标准输出为_O_U16TEXT。
2023-10-21 16:16:11 267
原创 《windows核心编程》第1章 错误处理
这是windows的API函数,函数是用来将错误编码转换成错误信息字符串的在UNICODE编码下被定义为FormatMessageW,我们常用FormatMessageWFormatMessageW 函数 (winbase.h) - Win32 apps | Microsoft Learn。
2023-10-21 01:02:09 400
原创 QT无边框窗口
实现三个虚函数算法相关鼠标相对于左上角的 z 是不变的添加 QPoint 头文件因为作用域的原因,我们把 z 定义为类的成员变量。现在就可以正常的拖动窗口了。
2022-11-27 22:34:38 5567
原创 Linux网络编程11——简单的web服务器
02-web大练习的概述_bilibili_哔哩哔哩_bilibili实现一个简单的 web 服务器 myhttpd 能够给浏览器提供服务,供用户借助浏览器访问服务器主机中的文件。
2022-11-17 16:02:10 874
原创 Linux网络编程9——UDP 和 本地/网络套接字
面向连接的,可靠数据包传输。对于不稳定的网络层,采取完全弥补的通信方式。丢包重传。优点:稳定 (数据流量稳定、速度稳定、顺序)缺点:传输速度慢。相率低。开销大使用场景:数据的完整型要求较高,不追求效率。大数据传输、文件传输无连接的,不可靠的数据报传递。对于不稳定的网络层,采取完全不弥补的通信方式。默认还原网络状况优点:传输速度块。相率高。开销小缺点:不稳定 (数据流量。速度。顺序)使用场景:对时效性要求较高场合。稳定性其次。游戏、视频会议、视频电话。
2022-11-08 11:09:27 978
原创 Linux网络编程7——epoll反应堆模型
1、epoll 反应堆模型是从 libevent 库里面抽取的核心代码epoll ET 边沿触发 event = EPOLLIN | EPOLLETepoll LT 水平触发epoll 非阻塞IO 边沿触发 while(read()) fcntl(O_NONBLOCK)2、epoll 反应堆模型 = epoll ET 模式 + 非阻塞 + void *ptr。
2022-09-21 23:20:44 480
原创 Linux网络编程6——poll和epoll
select 出来的比较早,其缺点是监听散乱的文件描述符效率会低一点。所以使用 poll,但是 poll 效率没改进多少,所以又改进为 epoll。
2022-08-05 08:35:07 2457
原创 Linux网络编程4——网络编程基础2
表示初始状态。该状态表示服务器端的某个SOCKET处于监听状态,可以接受连接。这个状态与SYN_RCVD遥相呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,随即进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文。SYN_RCVD该状态表示接收到SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂。表示连接已经建立。。称之为半连接或半关闭状态。....
2022-07-22 21:44:18 335
原创 Linux学习日记22——vscode和cmake
一、安装相应的软件1.1 安装cmake1.2 安装vscode二、g++编译相关参数2.1 -g2.2 -O[n]2.3-l 和 -L2.4 -I2.5 警告信息2.6 设置编译标准和输出文件名2.7 查看手册三、编译C++项目3.1 打开vscode3.2 编写项目3.3 编译项目四、CMake4.1 简介4.2 语法特性介绍4.3 重要指令和 CMake 常用变量4.4 CMake 编译工程4.5 实战五、使用vscode进行完整项目开发...
2022-06-12 11:28:32 2286
原创 Linux网络编程2——socket编程
类似于管道文件。一个文件描述符指向一个套接字(套接字内部由内核提供两个缓冲区实现)在通信过程中,套接字一定是成对出现的(Linux主机上有,客户端主机上也有)1、函数为使网络程序具有可移植性,使同样的C代码在大端和小端计算机上编译后都能正常运行,可以调用以下库函数做网络字节序和本地字节序的转换htonl本地字节序——>网络字节序(32位,主要转换的是IP)htons本地字节序——>网络字节序(16位,主要转换的是port)ntohl2、对上面函数进行封装。......
2022-05-13 17:01:44 1232
原创 Linux网络编程1——网络编程基础
目录一、协议二、分层模型结构2.1 OSI七层模型2.2 TCP/IP 4层模型三、网络传输数据封装3.1 物理层3.2 数据链路层3.3 网络层3.4 传输层四、以太网帧协议4.1 ARP协议4.2以太网帧协议4.3 mac地址五、 IP协议5.1 版本5.2 TTL5.3 IP字节数5.4 发送的内容六、IP、端口号6.1 IP地址6.2 端口号6.3 ip+端口号七、UDP八、CS/BS模型一、协.
2022-05-12 17:35:04 933
原创 Linux学习日记21——shell
学习视频链接【尚硅谷】Shell脚本从入门到实战_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1hW41167NW?p=12&spm_id_from=333.1007.top_right_bar_window_history.content.click目录一、shell概述二、shell解析器2.1 Linux提供的Shell解析器2.2 默认使用的解析器三、shell脚本入门3.1 脚本格式3.2 第一个shell
2022-04-28 20:19:55 1919
原创 Linux学习日记20——线程同步
学习视频链接黑马程序员-Linux系统编程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KE411q7ee?p=167目录一、同步概念1.1 线程同步1.2 线程互斥1.3 数据混乱原因二、互斥量mutex2.1 基本概念2.2 出现的问题2.3 使用流程2.4 代码2.5互斥锁的使用技巧三、读写锁3.1 读写锁特性(操作系统会讲)3.2 主要函数3.3 代码四、死锁五、条件产量5.
2022-04-28 11:57:55 479
原创 Linux学习日记19——线程
学习视频链接黑马程序员-Linux系统编程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KE411q7ee?p=151&spm_id_from=333.1007.top_right_bar_window_history.content.click目录一、线程概念1.1 什么是线程1.2 查看火狐浏览器的线程1.3 Linux内核线程实现原理1.4 线程共享资源1.5线程非共享资源1.6 线程优、缺点二、进程..
2022-04-26 13:20:01 1456
原创 Linux学习日记18——守护进程
学习视频链接北京黑马C++32期就业班课程(第一部分)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1uk4y1m7Eu?p=756目录一、守护进程1.1 简介1.2 特点总结二、进程组和会话2.1 进程组2.2 会话2.3 可以使用 ps ajx 来查看进程组 ID 和会话 ID2.4 进程组和会话的关系图三、创建守护进程模型3.1 流程3.2 代码一、守护进程1.1 简介Daemon(精灵
2022-04-25 20:12:10 758
原创 Linux学习日记17——信号
学习视频链接黑马程序员-Linux系统编程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KE411q7ee?p=129目录一、信号的概念1.1 信号共性1.2 信号的机制1.3 与信号相关的事件和状态1.4 信号的编号1.5 信号四要素1.6 kill函数/命令产生信号一、信号的概念1.1 信号共性简单、不能携带大量信息、满足条件才能发送1.2 信号的机制1、A 给 B 发送信号,B 收到.
2022-04-21 20:50:05 1943
原创 Linux学习日记16——进程间通讯
学习视频链接黑马程序员-Linux系统编程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KE411q7ee?p=100目录一、IPC 方法1.1 进程间通信1.2 常用的进程间通信方式二、管道2.1 Linux下创建管道2.2 管道的概念2.3 创建管道2.4 父子进程通信2.5兄弟进程通信2.6 多个写端一个读端测试2.7 管道缓冲区大小2.8 管道的优劣三、FIFO3.1简介3...
2022-04-14 10:17:08 972
原创 Linux学习日记15——exec函数族、回收子进程
一、exec函数族1.1 函数族作用1、简介fork 创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种 exec 函数以执行另一个程序。当进程调用一种 exec 函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用 exec 并不创建新进程,所以调用 exec 前后该进程的 id 并未改变。将当前进程的 .text、.data 替换为所要加载的程序的 .text、.data,然后让进程从新的 .text 第一条指令..
2022-04-12 10:11:34 3731
原创 Linux学习日记14——进程
学习视频链接黑马程序员-Linux系统编程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KE411q7ee?p=76目录一、进程和程序1.1 区别1.2 并发1.3单道程序设计1.4 多道程序设计二、虚拟内存和物理内存映射关系2.1 PCB简单了解2.2MMU完成虚拟内存和物理内存映射一、进程和程序1.1 区别程序占用磁盘空间程序运行起来就成了进程,占用 CPU、内存等系统资源1.2 并..
2022-04-09 09:59:33 1233
原创 Linux学习日记13——目录操作
学习视频链接黑马程序员-Linux系统编程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KE411q7ee?p=65&spm_id_from=pageDriver目录一、getcwd 和 chdir 函数1.1 getcwd函数1.2chdir 函数1.3测试案例二、文件和目录权限2.1 vim查看目录2.2 目录权限和文件权限区别三、opendir、readdir、closedir函数3.1open...
2022-04-06 10:43:56 3068
C/C++ QT DUP 网络报文本地多用户通讯
2022-10-29
根据视频制作的一个Qt学生成绩管理系统,在linux环境下运用了sqlite3数据库实现的这个,目前没有测试windows平台的
2022-07-18
一款Qt制作的四则运算器
2022-07-14
一款Qt制作的音乐播放器
2022-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人