自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 2020-12-28

创建工程

2020-12-28 20:39:57 102

原创 std容器的emplace_back 与 push_back的区别

c++开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题就是临时变量申请资源的浪费。引入了右值引用,转移构造函数后,push_back()右值时就会调用构造函数和转移构造函数,如果可以在插入的时候直接构造,就只需要构造一次即可.

2020-11-12 00:17:13 705 1

原创 有名信号量sem_open和内存信号量sem_init创建信号量的区别

两个函数原型如下:有名信号初始化:sem_t *semsem_open(const char *name, int oflag, .../*mode_t mode,unsinged int value);内存信号量初始化:int sem_init(sem_t *sem,int shared, unsignedint value);区别:1.创建有名信号量必须指定一个与信号量相关链的文件名称,这个name通常是文件系统中的某个文件。 基于内存的信号量不需要指定名称2.有名信号量...

2020-09-15 00:00:04 1908

原创 平时用来调试的日记打印源码

#ifndef LOG_H#define LOG_H// simple log macros in a single header file// Author by TyK// Link: https://github.com/lazytinker/log.h#include <stdio.h>// Enable time will cause compiler error in C++.#ifdef __cplusplus#define LOG_DISABLE_TIME.

2020-09-14 20:42:31 130

原创 自旋锁的特征

当多个线程竞争资源时,如果线程获取不到锁,则线程会挂起,并被放进等待队列中

2020-09-09 18:12:39 152

原创 线程数据共享:pthread_getspecific和pthread_setspecific

thread_getpecific和pthread_setspecific提供了在同一个线程中不同函数间共享数据即线程存储的一种方法。具体用法为:1.调用pthread_key_create()来创建一个类型为pthread_key_t类型的变量该函数有两个参数,第一个参数就是声明的pthread_key_t变量,第二个参数是一个清理函数,用来在线程释放该线程存储的时候被调用。该函数指针可以设成NULL,这样系统将调用默认的清理函数。2.调用pthread_setspcific()当线程中需要

2020-09-08 21:51:08 283

原创 2020-09-04

tcp协议栈在三次握手当中,服务器接受客户端主要是做以下几件事:三次握手第一次握手:半连接队列:syn队列accept函数做两件事情1:从accept队列中取出一个节点2:为这个节点分配一个fd,与节点一一对应...

2020-09-04 22:02:32 99

原创 布隆过滤器

#布隆过滤器##布隆过滤器的引入这些复杂问题怎么办?使用word文档时,判断某个单词是否拼写正确?网络爬虫程序,不去爬相同的url页面?判定一个字符串是否存在垃圾邮件过滤算法如何设计?缓 存崩溃后造成的缓存击穿?FBI,一个嫌疑人的名字是否已经在嫌疑名单上?##布隆过滤器的原理##如何选择hash函数个数和布隆过滤器的长度根据下面的网址可以设置合适的kmp的值https://hur.st/bloomfilter/##布隆过滤器不可以删除元素在布隆过滤器算法中,不能因为有碰撞的

2020-08-29 17:13:01 109

原创 高并发分布式队列设计

@TOC高并发分布式队列设计#用户他欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示

2020-08-07 22:31:44 270

原创 Remove Duplicates from Sorted Array

Given a sorted array, remove the duplicates in place such that each element appear only onceand return the new length.Do not allocate extra space for another array, you must do this in place with

2017-10-18 21:24:20 291

原创 Qt数据库SqlLite操作例程

直接上代码:widget.h文件内容:#ifndef WIDGET_H#define WIDGET_H#include namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0);

2017-03-13 20:03:40 670

原创 connect函数的第五个参数特点

connect()第五个参数的作用,指定连接方式:默认,队列,直接    多线程时才有意义    默认的时候    如果是多线程,默认使用队列    如果是单线程, 默认使用直接方式    队列: 槽函数所在的线程和接收者一样    直接:槽函数所在线程和发送者一样

2017-03-11 12:42:39 3675

转载 protobuf repeated类型的使用

protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。protobuf repeated类型相当于std的vector,可以用来存放N个相同类型的内容,文章将简单介绍protobuf repeated的使用。首先定义一个protobuf结构,

2017-03-10 10:01:18 1395

原创 QT的TCP传文件防止粘包方法

就是传送文件的头部信息以后,再启动一个QTimer定时器延迟一下再发送文件的数据内容。

2017-03-07 20:43:49 1584 1

原创 QTimer类使用方法。

widget.h#ifndef WIDGET_H#define WIDGET_H#include #include namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0); ~W

2017-03-06 23:06:50 1029

原创 Qtudp组播编程

其必须指定为IPV4。编程为:udpSocket->bind(QHostAddress::AnyIPv4, 8888); //加入某个组播 //组播地址是D类地址 udpSocket->joinMulticastGroup( QHostAddress("224.0.0.2") );

2017-03-06 22:36:09 1955

原创 QDataStream类用法实例

void Widget::writeData(){ //创建文件对象 QFile file("../test.txt"); //打开文件, 只写方式打开 bool isOk = file.open(QIODevice::WriteOnly); if(true == isOk) { //创建数据流,和file文件关联

2017-03-05 10:46:25 4202

原创 QT绘图设备QPixmap,QImage,QPicture的区别

QPixmap:针对屏幕进行了优化,和平台无关,不能对图片进行修改。QImage:和平台无关,可进行对图片进行修改,在线程中绘图。QPicture:保存绘图的状态(二进制文件)。

2017-03-05 10:09:13 524

原创 把qt中的qdebug()宏定义成C++类型的cout

有时候我们在写Qt程序的时候很烦qdebug(),但是我们可以把其宏定义成为C++类型的cout。#define cout qDebug()

2017-03-04 17:03:19 2142

原创 QFile类读写文件编程

QFile提供了从文件中读取和写入数据的能力。我们通常会将文件路径作为参数传给QFile的构造函数。不过也可以在创建好对象最后,使用setFileName()来修改。QFile需要使用 / 作为文件分隔符,不过,它会自动将其转换成操作系统所需要的形式。例如C:/windows 这样的路径在 Windows 平台下同样是可以的。          QFile主要提供了有关文件的各种操作,比如

2017-03-04 15:50:18 1680

原创 popen()函数简要介绍

函数说明  popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose()函数关闭,而不是fclose()函数。pclose()函数关闭标准I/O流,等待命令执行结束,然后返回shell的终止状态。如果shell不能被执行,则pclose()返回的终止状态与shell已执行exit一样。  type参数

2017-02-13 16:21:57 778

原创 错误宏定义ERR_EXIT

错误宏定义

2017-02-13 16:04:05 4673

原创 海思平台IPC图像调试经验总结

DRC:开启后,会提升暗处细节,同时也提升噪声,导致噪声强度相比DRC关闭时更大些,此时边缘增强,去噪功能都应该与DRC有关AE:1: 曝光时间:sensor 积累电荷的时间,是 sensor pixel 从开始曝光到电量被读出的这段时间。2: 曝光增益:对 sensor 的输出电荷的总的放大系数,一般有数字增益和模拟增益,模拟增益引入的噪声会稍小,所以一般优先用模拟增益。

2017-02-13 09:36:50 19219 1

原创 SVN提交和更新代码命令

更新最新版本代码命令:svn co +代码路径。更新特定版本命令:svn co +代码路径 加上-r+代码版本号。提交命令:                先是执行svn st命令查看更改的代码,再执行svn ci +所提交的代码+-m"提交代码说明"。

2017-02-10 13:33:23 4412

原创 linux下的解压命令

压缩命令tar -czvf ***.tar.gztar -cjvf ***.tar.bz2解压命令tar -xzvf ***.tar.gztar -xjvf ***.tar.bz2

2017-01-22 14:39:11 353

C++11并发编程

里面有很多关于多线程的编程问题,讲的很详细。也有很多源代码,我们可以参考编程。希望大家得多帮助,共享给大家。

2017-09-14

QT的TCP网络通信源码

Qt中实现TCP/IP服务器端和客户端的通信

2017-03-05

空空如也

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

TA关注的人

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