自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++自定义简要日志类

记录一下自定义简要日志类,方便以后获取代码

2024-04-25 17:26:36 196

原创 算法-排序

函数merge(vector& array, int beginIndex, int endIndex)的功能是将数组array从beginIndex到endIndex按从小到大排列第一步:找一个标志数据(一般为array[beginIndex])第二步:对array重新排列,将array中小于标志数据的放标志数据左边,大于的放右边,假设排列后标志数据的下标为flagIndex(重点)

2024-01-18 17:30:05 505

原创 linux系统环境变量问题记录

LIBRARY_PATH环境变量在链接阶段发挥作用LD_LIBRARY_PATH环境变量在程序运行时发挥作用。

2023-11-04 13:28:12 179

原创 linux下载cuda toolkit实现并行计算

从 NVIDIA 官方网址 https://developer.nvidia.com/rdp/cudnn-download 下载 cudnn-11.0-linux-x64-v8.0.5.39.tgz。CUDA Toolkit官网:https://developer.nvidia.com/cuda-downloads。下载插件 Nsight Visual Studio Code Edition。cuda代码的源文件后缀为.cu。注意:如果有驱动时,安装命令为。

2023-11-04 13:26:21 510

原创 ubuntu显卡驱动安装的坑

Ubuntu双系统 Nvidia显卡驱动突然失效参考:https://blog.csdn.net/qq_20537963/article/details/130364509输入下面命令显示找不到显卡驱动输出525.105.17即为本机的驱动版本注意:如果内核更新了,需要输入命令uname -r并与输出的结果核对,需要两个内核版本相同。

2023-10-10 00:08:55 385

原创 linux下vscode配置qt

下载路径:/home/hzrot/Qt5.12.8。下载Qt Configure和Qt Tools。利用Qt Designer打开.ui文件。终端输入 designer。

2023-09-28 14:02:28 1056

原创 音视频学习(2)

yuv444图片格式在计算机中的存储方式为 Y Y Y Y…RGB32图片格式在计算机中的存储方式为 R G B _ R G B _ …

2023-09-25 11:32:06 27

原创 音视频学习(1)

本例中屏幕的分辨率为1920*1080,获取其RGB32数据。

2023-09-25 11:31:35 33

原创 LSTM神经网络相关

注意:** 是 内积 ·是向量相乘*Xt :输入向量(inputdim,1)Ht-1:上一个GRU的输出向量(上一个gru的输出维度(hiddendim),1)Whr:(hiddendim,上一个gru的输出维度(hiddendim))rtsigmoidWxr⋅XtWhr⋅Ht−1brWhz:(hiddendim,上一个gru的输出维度(hiddendim))ztsigmoidWxz⋅XtWhz⋅Ht−1。

2023-09-23 10:54:54 261

原创 grpc的go和c++示例

运行后将在Server-gRPC-c++/Profile中生成hello.grpc.pb.cc、hello.grpc.pb.h、hello.pb.cc、hello.pb.h文件。运行后将在Client-gRPC-c++/Profile中生成hello.grpc.pb.cc、hello.grpc.pb.h、hello.pb.cc、hello.pb.h文件。1 protobuf环境搭建。2 grpc环境搭建。

2023-09-15 15:04:16 147

原创 grpc-c++环境搭建

grpc-c++在linux下环境搭建

2023-09-15 14:59:25 157

原创 ffmpeg环境搭建

linux环境下搭建ffmpeg

2023-09-15 14:48:41 1352

原创 搭建protobuf3.21.4环境

第一步:下载Cmake下载地址:https://cmake.org/download/ (务必下载最新版本,否则编译有可能出现找不到 pthread.h文件)第二步:下载ProtoBuf源码第三步:编译第四步:配置到项目第五步:学习protobuf的基本使用总结:cmake了以后得到了啥编辑。

2023-09-08 18:49:36 231

原创 docker使用

(2)拉取镜像 docker pull ubuntu:20.04 (docker pull debian:latest)(5)进入容器内部 docker exec -it name /bin/bash。(4)运行与停止容器 docker start(stop)name。(3)删除镜像 docker rmi name。(2)删除容器 docker rm name。(3)查看容器 docker ps -a。(1)创建容器 (创建后自动运行)(2)通过Dockerfile创建。(1)通过容器创建(存档)

2023-08-18 11:20:29 70

原创 docker部署

这将将容器 my_debian_container 保存为新的镜像 my_custom_debian_image。

2023-08-16 16:48:15 78

原创 linux环境导入第三方库(命令行+vscode)

需要导入mysql第三方库头文件位置:/usr/include/mysql静态库文件位置:/usr/lib/mysql 下的。

2023-08-02 15:40:47 482

原创 ubantu下载mysql

编译:g++ test.cpp -o test.app -I /usr/include/mysql -L/usr/lib/mysql -lmysqlclient。sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改里面的配置文件,找到bind-address那一行注释掉。sudo cat /etc/mysql/debian.cnf // 查看配置文件。mysql -u debian-sys-maint -p // 登录默认账号。上面的文章到第五步就行。

2023-07-24 16:50:01 1703

原创 c++单例设计

配置类(一个工程仅初始化一次即可)

2023-07-24 11:21:38 41

原创 c++调用python

静态库文件:在D:\andconda\envs\py39的libs文件夹下(将python3.lib复制一份改名python3_d.lib,python39一样)一、利用conda创建一个新的虚拟环境(最好依赖于python3.9),方便管理第三方库。头文件:在D:\andconda\envs\py39的include文件夹下。创建虚拟环境后会生成一个文件,在D:\andconda\envs下。解决:将Lib文件夹、DLLs文件夹放在exe文件的目录下。四、python文件有第三方库?

2023-07-21 09:22:40 174

原创 ubantu环境搭建参考

显示 zxh is not in the sudoers file. This incident will be reported。参考:https://blog.csdn.net/qq_40660130/article/details/116229710。在下载目录下:sudo dpkg -i code_1.80.1-1689183569_amd64.deb。下载ubantu镜像文件,利用virtualBox添加虚拟机(现在就能打开了)进入官网下载的vs的.deb包。

2023-07-20 17:18:51 44

原创 conda操作指南

查看源地址:conda config --show channels添加源:conda config --add channels Tsinghua Open Source Mirrorchannels后面就是要换的源地址恢复默认:conda config --remove-key channels。

2023-06-24 14:04:30 502 1

原创 C++位域

/默认值:mark = 0;serial = 0;

2023-05-08 16:15:39 111

原创 linux的mmap函数

将文件在磁盘上的位置直接映射到进程虚拟内存区域,那么进程在对该虚拟内存区域进行操作时就好像直接进行了文件的读写操作,不需要调用read和weite函数(虚拟内存技术和零拷贝)

2023-05-02 16:37:50 306

原创 UDP穿透

假设两台主机分别位于两个局域网中,这两台主机不能直接通过TCP建立连接(TCP连接需要固定的ip和端口,通常路由器或者本机防火墙是不会将这个暴露在外的)这时可以通过 UDP穿透来实现两台主机的跨局域网通信(当然前提是需要一台公网服务器)

2023-04-28 21:22:28 1382 1

原创 window下IOCP模型

如果服务器每接入一个用户就开启一个线程为其服务,会大大增加服务器的负荷,iocp只有在socke确实需要操作才会额外开启线程,并且线程池可以控制服务器最大开启线程数量。2.开启一个(多个)线程来获取队列完成状态,也就是判断完成端口中哪些socke准备好读or写(额外开启线程来处理读写操作)注:(只映射和客户端通信的socket,暂时不考虑服务器监听的socket,因此socket要么准备好读,要么准备好写)4.检测到客户端连接后,将其socket加入到完成端口。1.创建一个完成端口。

2023-04-28 17:28:15 103

原创 linux下Select网络模型

3.当num>0时,我们知道有准备好已读监听符,但是我们不知道是哪个,因此需要轮询(这是select缺点,epoll改进了改缺点)2.每隔固定时间查询监听描述符集合里是否有准备好已读监听符,并返回准备好已读监听符数量num。1.建立监听描述符集合、准备好已读监听符集合。

2023-04-27 19:42:21 89

原创 linux下Epoll网络模型

1.建立epoll_event、这里要设定最大链接数量、将服务端监听描述符加入到epoll_event中。2.每隔固定时间查询epoll_event里是否有准备好已读监听符,并返回准备好已读监听符数量num。3.当num>0时,我们知道有准备好已读监听描述符,并且知道描述符,因此不需要轮询。

2023-04-27 19:42:15 109

原创 C++Window环境下线程池实现

【代码】C++Window环境下线程池实现。

2023-04-27 19:20:11 402

原创 c++的pragma once预处理指令

1、c++在编译时将该工程下所有.cpp文件编译为.o文件(不会编译.h文件)2、包含头文件就是将头文件的内容复制过来3、c++在链接阶段将所有.o文件链接为可执行文件,注意重定义问题。

2023-04-13 14:23:17 154

原创 c++虚函数表

class B继承了A ,同时继承了该虚函数表,他首先会检测B中是否重写了虚函数表中的函数,重写了就修改他自己的虚函数表中的函数地址。ptr->test1() 调用时首先找到了虚函数表的地址,那么它执行的就是test1(B),B类中的test1。class A中有一个虚函数表 class A的最开始就存了该表的地址 这个表存的是虚函数的地址。

2023-04-13 14:22:05 39

原创 Linux下进程通信----------共享内存

【代码】Linux下进程通信----------共享内存。

2023-03-30 19:29:33 44

原创 算法 - 前缀和相关

给定一个数组,题目要求和子数组有关联想到前缀和,且前缀和一般和哈希表联系起来(和子序列有关)

2023-03-16 22:45:59 44

原创 c++二分法

二分法在c++中相关的函数是: (需要要求序列已排好序)查找序列中等于val的值,有返回true,没有返回false查找序列中大于等于val的值,有返回该元素迭代器,没有返回end查找序列中严格大于val的值,有返回该元素迭代器,没有返回end它们包含在头文件中。

2023-03-15 20:02:25 125

原创 C++最小堆和最大堆实现

最大最小堆在c++中相关的函数是:它们包含在头文件中1)make_heap(建堆)在容器范围内,就地建堆,保证最大(小)值在所给范围的最前面,其他值的位置不确定。可以有两个参数,也可以有三个参数,前两个参数是指向开始元素的迭代器和指向结束元素的下一个元素的迭代器。第三个参数(谓词)是可选的,不选默认大顶堆。我们可以自定义比较函数来设定小顶堆2)pop_heap(取出)将堆顶(所给范围的最前面)元素移动到所给范围的最后,并且将新的最大(小)值置于所给范围的最前面。

2023-03-15 20:01:02 805

原创 gcc/g++的静态库与动态库创建

【代码】gcc/g++的静态库与动态库创建。

2023-03-15 19:58:58 156

原创 Linux环境下进程相关函数

当某个进程收到信号时,如果该进程设置了相关的信号处理函数,那么这个进程就会被中断去处理相关的信号处理函数,直到相关的信号处理函数完成了,回到主程序中断时下一条指令。:默认为0,waitpid挂起调用进程,直到他的一个等待集合(wait set)中的进程终止,调用进程回收该进程。​ <0 等待集合(wait set)就是由他的子进程组成。:>0 等待集合(wait set)就是一个pid = pid的进程。:如果不为空,返回回收进程的退出状态status。main进程调用foo进程。

2023-03-15 19:52:47 171

原创 Linux环境下select函数

/秒 long tv_usec;//微秒 };//已经在头文件定义好了的,直接用就行 int select(int nfds , fd_set * readfds , fd_set * writefds , fd_set * exceptfds , struct timeval * timeout);/**返回值有两:int和readfds(fd_set的指针)int:准备好读的文件描述符个数,出错返回-1readfds:准备好读的文件描述符集合。

2023-03-15 19:52:38 181

原创 Linux环境下线程相关函数

包含#include文件的源代码编译时要加上参数。

2023-03-15 19:48:50 186

原创 Linux环境下文件相关函数

rio_readn在读取文件失败时,如果是由于中断信号导致会一直循环尝试读取,其他错误返回-1(这对套接字很有用)rio_writen在写文件失败时,如果是由于中断信号导致会一直循环尝试读取,其他错误返回-1。不带缓冲区是直接从磁盘读到内存;带缓冲区是从磁盘读到缓冲区(缓冲区也在内存)再读到内存。没有缓冲区:修改文件当前的位置指针,重新从磁盘读(速度慢)有缓冲区:从rio_buf中读,在内存(速度快)read在读取文件失败时,直接返回-1。write在写文件失败时,直接返回-1。参数和返回意义都相同。

2023-03-15 19:47:06 49

原创 Linux环境下套接字相关函数

Linux下Socket编程

2023-03-15 19:41:14 115

空空如也

空空如也

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

TA关注的人

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