自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

转载 盘点适合入门学习的C/C++开源项目

C项目名称: C项目简介: 是的,你没有看错,这个项目的名字就是单个字母C。C是一个宝藏项目,可以说是学习数据结构和刷算法题的利器,因为里面包含了几乎各种基础算法、数据结构、以及LeetCode算法题的C语言实现。具体包括:客户端/服务器问题统计方法问题进制转换问题各种数据结构:数组、链表、字典、二叉树、堆、栈、队列、哈希、图等等搜索/查找问题排序问题LeetCode习题其他杂项问题注意,下图中只是截取了一部分数据结构和算法题的具体实现:对于我们的作用: 可以帮助我们更好的学习数据

2020-07-01 09:57:25 25541 6

转载 centos:Yum安装软件时被PackageKit锁定

https://blog.csdn.net/nangy2514/article/details/99851866

2020-07-30 20:01:10 1188

转载 opencv:centos7中使用opencv出现错误your GStreamer installation is missing a required plugin

[ WARN:0] OpenCV | GStreamer warning: your GStreamer installation is missing a required plugin[ WARN:0] OpenCV | GStreamer warning: Embedded video playback halted; module uridecodebin0 reported: “rtmp”未实现 URI 处理器。[ WARN:0] OpenCV | GStreamer warning: una

2020-07-30 10:23:41 4487 5

转载 C/C++编程:const_cast

作用:在有不同cv限定的类型间转换语法:const_cast < 新类型 > ( 表达式 )

2020-07-29 19:23:17 3058

原创 opencv:win10下qt+OpenCV环境搭建

环境准备预装Windows10系统PC一台下载最新版本Opencv4软件压缩包下载地址,不必去该外,因为太慢了下载mingw64编译软件: 安装请参考下载最新版本CMake软件: (这个待写)注意:注意在安装mingw64的过程当中一定要选择安装mingw-64,如果不知道安装那些包,请直接选择Full Installation即可。如果在mingw安装过程中未选择添加环境变量请手动添加mingw相关环境变量至Path中,如下所示:请注意,MinGW一定要是用的是Mi

2020-07-28 14:30:35 2059

转载 C/C++编程:STL算法总结

分类STL 中算法大致分为四类:可变序列算法: 可以修改他们所操作的容器内容的算法非可变序列算法:不直接修改其所操作的容器内容的算法排序算法:包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作数值算法:对容器内容进行数值计算。可变序列算法可以进行序列数据的复制、交换、替换、填充、移除、旋转、随机抖动、分割。这些算法对调迭代器有较高的要求,必须先检查容器的迭代器是否符合要求,防止编译错误。元素复制算法copy函数作用:该函数用于容器间元素拷贝,将迭代器区间[f

2020-07-27 21:54:30 356

转载 Java8 -- 处理时间

本地时间APIJava 8 为处理本地的日期时间提供了三个类LocalDate 、LocalTime 和 LocalDateTime。分别用于处理 本地日期、本地时间 和 本地日期时间。当使用这三个类时,开发者并不需要关心时区是什么。因为它默认使用的是操作系统的时区。LocalDate-日期创建LocalDate对象 @Test public void test_start() throws ParseException { // 获取当前日期

2020-07-25 13:16:42 557

转载 Qt:windows下Qt安装教程

win10按照qt

2020-07-24 20:25:15 110957 28

转载 C/C++编程:windows下编译cpp项目时遇到`/bin/sh: cc: command not found`

编译cpp项目时遇到/bin/sh: cc: command not found原因: gcc和g++工具没有找到。目前系统:已经安装了minGW64: 安装过程可以参考因此只需要将路径加到系统环境变量中去就行了如果要编译cpp,MinGW一定要是用的是MinGW64而不是MinGW,MinGW与MinGW64有着很大的区别,MinGW64是Cygwin的分支,其支持pthread的Linux多线程库,而对于MinGW则不支持,因此使用MinGW是无法编译通过的,出现mutex等结构体未定义等

2020-07-24 14:16:05 2141

转载 opencv:rtsp看视频并保存

https://zhuanlan.zhihu.com/p/101383213在opencv中关于视频的读操作是通过VideoCapture类来完成的;关于视频的写操作是通过VideoWriter类来实现的。

2020-07-24 08:40:10 2580

转载 opencv:centos7中安装opencv4.3.0环境

opencv:centos7中安装opencv4.3.0环境

2020-07-23 17:30:08 2571

转载 Qt编写的一些开源的demo

Qt编写的一些开源的demo,预计会有100多个,一直持续更新完善,代码简洁易懂注释详细,每个都是独立项目,非常适合初学者,代码随意传播使用,拒绝打赏和捐赠,欢迎留言评论!https://github.com/feiyangqingyun/QWidgetDemo...

2020-07-23 14:45:21 901

转载 算法:为什么redis一定要用跳表来实现有序集合

引入二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗?实际上,我们只需要对链表稍加改造,就可以支持类似“二分”的查找算法。我们把改造之后的数据结构叫做“跳表”。调表是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树Redis 中的有序集合(Sorted Set)就是用跳表来实现的。那 Redis 为什么会选择用跳表来实现有序集合呢? 为什么不用红黑树呢?红黑树不也可以实现快速

2020-07-22 16:47:23 265

转载 C/C++编程:linux下多线程查看方法

线程测试程序#include <iostream>#include <thread>#include <cstring>#include <unistd.h>#include <mutex>using namespace std;#define LEN 2int num = 0;std::mutex mt;void run() { std::cout << "count = " << num

2020-07-22 16:39:01 4932

转载 Unix/Linux编程:什么是 socket?

这个世界上有很多种套接字(socket),比如 DARPA Internet 地址(Internet 套接字)、本地节点的路径名(Unix套接字)、CCITT X.25地址(X.25 套接字)等。但本教程只讲第一种套接字——Internet 套接字,它是最具代表性的,也是最经典最常用的。以后我们提及套接字,指的都是 Internet 套接字。...

2020-07-22 15:00:32 329

转载 算法: 什么是外部排序?

问: 目前给你一个包含20亿个int类型的整数,计算机的内存只有2GB,该怎么排序?一个int数占4个字节(byte), 20亿个int类型占20*4=80亿个字节, 80亿个字节大概要占用8GB的内存,而计算机只有2GB的内存1GB = 1024MB = 1024 * 1024KB = 1024 * 1024 * 1024bit=1073741824bit=10.7亿个字节80亿/1024/1024/1024 =7.45058GB≈8GB计算机装不下。为了解决这个问题,我们可以将8GB的数.

2020-07-22 14:54:23 204

转载 Unix/Linux编程:POSIX线程的创建与退出

POSIX线程库与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”开头,要使用这些函数库,要通过引入头文<pthread.h>,而且链接这些线程函数库时要使用编译器命令的“-lpthread”选项[Ubuntu系列系统需要添加的是”-pthread”选项而不是”-lpthread”,如Ubuntu 14.04版本,深度Ubuntu等]pthread_createint pthread_create(pthread_t *restrict thread,

2020-07-22 14:24:54 520

转载 java之Date(日期)、Date格式化、Calendar(日历)

Date(日期)Date类 注意:是java.util.Date;而非java.sql.Date,此类是给数据库访问的时候使用的时间原点概念所有的数据类型,无论是整数,布尔,浮点数还是字符串,最后都需要以数字的形式表现出来。日期类型也不例外,换句话说,一个日期,比如2020年10月1日,在计算机里,会用一个数字来代替。那么最特殊的一个数字,就是零. 零这个数字,就代表Java中的时间原点,其对应的日期是1970年1月1日 8点0分0秒 。 (为什么是8点,因为中国的太平洋时区是UTC-8,刚好和

2020-07-22 13:21:08 435

转载 centos:查看centos版本

查看版本号方法1:$ yum install -y redhat-lsb# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarchDistribu

2020-07-22 08:44:54 211

转载 centos:安装autoconf-2.69版本

安装某个程序的时候,提示需要安装autoconf-2.69版本。先用yum安装autoconf,提示:包 autoconf-2.63-5.1.el6.noarch 已安装并且是最新版本也可以源码下载安装1、检查是否有安装autoconf其他版本:rpm -qf /usr/bin/autoconf2、如有安装,则先卸载相应版本,否则不用处理。执行以下命令卸载:rpm -e --nodeps autoconf-2.633、下载autoconf-2.69版本源文件:wget ftp://f

2020-07-21 14:15:35 1792

转载 C/C++编程: error: no acceptable m4 could be found in $PATH

安装autoconf报错:checking for GNU M4 that supports accurate traces… configure: error: no accceptable m4 could be found in $PATH下载安装包wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz把安装包上传到/usr/local/src目录下,并解压tar -xvf m4-1.4.9.tar.gz 进入到解压后的目录m4-1.4.9cd

2020-07-21 14:12:33 3200 6

转载 C/C++编程:运算符重载

class complex{ double re, im;public: complex(double r, double i) : re{r}, im{i}{} complex operator+(complex); complex operator*(complex);};void f(){ complex a = complex{1, 20.1}; complex b{10.1, 2}; complex c{b}; a = a + c; b = b + c * a; c

2020-07-21 14:03:44 501

转载 C/C++编程:用std::async代替线程的创建

c++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的: void f(int n);std::thread t(f, n + 1);t.join();但是线程毕竟是属于比较低层次的东西,有时候使用有些不便,比如我希望获取线程函数的返回结果的时候,我就不能直接通过thread.join()得到结果,这时就必须定义一个变量,在线程函数中去给这个变量赋值,然后join,最后得到结果,这个过程是比较繁琐的。c++11还提供了异步接口std::async,通过这个异步接口可以很方便的

2020-07-21 14:01:25 327

转载 C/C++编程:future_error详解

引言遇到这个问题以后第一次没有得到解答 随后经测试和查阅资料知道了它的由来 同时列出三种导致抛出future_error的原因 希望能有相同问题的朋友能得到帮助什么是future_error这是官网对这个类型的解释The class std::future_error defines an exception object that is thrown on failure by the functions in the thread library that deal with asynchr

2020-07-20 16:43:15 2900

转载 C/C++编程:获取线程的返回值

https://www.cnblogs.com/pluviophile/p/cpp11-future.html

2020-07-20 16:39:17 2308

转载 clion:win10下生成C动态库

在线程编程时,编译器报terminate called after throwing an instance of ‘std::system_error’terminate called recursivelywhat(): Unknown error -1Aborted (core dumped)解决方法:在链接时,加上 -pthread选项。g++ -std=c++11 -pthread thread_demo.cpp -o demo。clion编译时,会报这种错误。需要在CMakeLis

2020-07-20 10:44:20 806

转载 String练习

模拟一个trim方法,去除字符串两端的空格。public String trim(String str){ char[] arr = str.toCharArray(); int start = 0; int end = str.length(); while (start < end && arr[start] == ' ' ){ start++; } w

2020-07-19 22:58:50 171

转载 clion:debug模式带参数运行程序

2020-07-17 16:25:11 1119

转载 Unix/Linux编程:更改文件属组---chown()

文件属主每个文件都有一个与之关联的用户 ID(UID)和组 ID(GID),籍此可以判定文件的属主和属组新建文件的属主UID和进程的有效用户ID相同GID和进程的有效组ID(等同于 System V 系统的默认行为),或者父目录的组ID(BSD 系统的行为)相同当为项目创建目录时,需要该目录下的所有文件隶属于某一特定组,并且可为该组所有成员所访问。改变文件属主:chown()、fchown()和 lchown()系统调用 chown()、lchown()和 fchown()可用来改变文件的

2020-07-17 13:36:57 1354

原创 boost:从0到1开发boost(linux、clion)

boost1、安装包下载下载地址并将安装包放到centos的适当目录下2、设置编译器和所选库解压$ tar -xvf boost_1_74_0_b1.tar.bz2运行解压后生成的bootstrap.sh文件:$ cd boost_1_74_0/$ ./bootstrap.sh --with-libraries=all --with-toolset=gcc--with-libraries指定编译哪些boost库,all的话就是全部编译,一般都会全部编译的吧--with-to

2020-07-17 11:35:36 934

转载 Unix/Linux编程: sendto、recvfrom

UDP客户/服务器程序调用如下:客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须指定目的地(服务器)的地址作为参数。服务器不接受来自客户的连接,只管调用recvfrom函数,等待某个客户的数据到达,recvfrome将与所接受的数据报一道返回客户的协议地址,因此服务器可以把响应发送给正确的客户...

2020-07-16 13:12:47 1488

转载 C/C++编程:优先队列priority_queue

> priority_queue本质是一个堆。1 . 头文件是#include<queue>2 . 关于priority_queue中元素的比较  模板申明带3个参数:priority_queue<Type, Container, Functional>,其中Type 为数据类型,Container为保存数据的容器,Functional 为元素比较方式。  Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里

2020-07-16 11:17:35 3550

原创 JDK之String源码分析

文章目录String类的定义final --- 不可继承&&不可变SerializableComparableCharSequence成员变量构造方法String()String(String original)String(char value[])String(char value[], int offset, int count)public String(int[] codePoints, int offset, int count)String(byte[] bytes, int

2020-07-15 23:52:39 425

转载 golang:轻松检测Golang并发的数据竞争

数据竞争是并发情况下,存在多线程/协程读写相同数据的情况,必须存在至少一方写。另外,全是读的情况下是不存在数据竞争的。Golang中我们使用Channel或者sync.Mutex等锁保护数据,有没有一种机制可以检测代码中的数据竞争呢?go build有个标记race可以帮助检测代码中的数据竞争。 awesome git:(master) ✗ go help build//.... omit-race enable data race detection. Supported only .

2020-07-15 14:43:49 863

转载 golang:并发模型为流水线模型

Golang作为一个实用主义的编程语言,非常注重性能,在语言特性上天然支持并发,它有多种并发模型,通过流水线模型系列文章,你会更好的使用Golang并发特性,提高你的程序性能。这篇文章主要介绍流水线模型的流水线概念,后面文章介绍流水线模型的FAN-IN和FAN-OUT,最后介绍下如何合理的关闭流水线的协程。Golang的并发核心思路Golang并发核心思路是关注数据流动。数据流动的过程交给channel,数据处理的每个环节都交给goroutine,把这些流程画起来,有始有终形成一条线,那就能构成流水线

2020-07-15 14:33:51 334

转载 golang:理解goroutine 和线程

要理解什么是goroutine,我们先来看看进程,线程以及协程之间的区别,这能帮助我们更好的理解goroutine**进程:**分配完整独立的地址空间,拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程的切换只发生在内核态,由操作系统调度线程: 和其它本进程的线程共享地址空间,拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程的切换一般也由操作系统调度(标准线程是的)。**协程:**和线程类似,共享堆,不共享栈,协程的切换一般由程序员在代码中显式控制。进程和线程的切换主要依赖于时间片的控制,而协程的

2020-07-15 14:06:54 872 1

转载 算法:golang使用channel实现非阻塞队列和超时阻塞队列

Channel是Golang中非常重要的数据结构, 默认它是阻塞的。那么如何实现一个非阻塞队列呢?package mainimport ( "errors" "fmt")func push(q chan int, item int) error { select { case q <- item: return nil default: return errors.New("queue full") }}

2020-07-15 13:18:17 2213

转载 Golang 任务队列策略 -- 读《JOB QUEUES IN GO》

Golang 在异步处理上有着上佳的表现。因为 goroutines 和 channels 是非常容易使用且有效的异步处理手段。下面我们一起来看一看 Golang 的简易任务队列

2020-07-15 13:13:09 711

转载 golang实现队列

这个例子用Go语言的包"container/list"实现一个线程安全访问的队列package mainimport ( "container/list" "fmt" "sync")var lock sync.Mutextype Queue struct { data *list.List}func NewQueue() *Queue { q := new(Queue) q.data = list.New() return q}func (q *Queue) pu

2020-07-15 11:18:01 817

转载 C/C++编程:thread库之锁的使用

mutex(互斥量)是一种线程同步手段,可以在多线程环境中防止多个线程同时操作共享资源。C++11起,标准库提供std::mutex以满足开发者对互斥锁的需求,相关的变体还有许多,如recursive_mutex,timed_mutex,shared_mutex等等。注意,mutex不可复制,不可移动(move)。

2020-07-15 10:04:18 5612

onvif摄像头对接鉴权

对应文章: https://blog.csdn.net/zhizhengguan/article/details/109325688

2022-08-11

空空如也

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

TA关注的人

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