自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt中的forever是什么?

从forever的字面意思来看,应该很容易猜到它是死循环的意思。实际上forever就是for(;???? 无限循环。

2022-01-19 16:03:33 1062

转载 C++ atomic与memory_order 详解

**atomic**使用atomic可以保证数据读写的原子性,虽然mutex也能做到,但atomic的性能更好。atomic支持的类型有布尔类型,数值类型,指针类型,trivially_copyable类。定义atomic时应该给一个初始值来初始化,或者调用atomic_init()来初始化。atomic<bool> readyFlag(false);atomic<bool> readyFlag;atomic_init(&readyFlag, false);

2022-01-19 15:44:52 732

原创 QObject源代码中的宏Q_CORE_EXPORT的作用

Q_CORE_EXPORT定义在#include <QtCore/qglobal.h>中作用:Q_CORE_EXPORT是一个用来适应不同平台的用来说明这是一个动态库导出类的宏。QT是个跨平台的库,而不同的操作系统,不同的编译器,对动态库的导出说明是不一样的,比如,在windows编译器上,动态库的导出说明通常是这样的:__declspec((dllexport))而在gcc/g++等编译器上,动态库的导出说明通常是这样的:attribute ((visibility(" ")),

2022-01-19 15:19:14 2308 1

原创 OpenGL与PCL库实现点云体系滤波优化及三角面片化

**点云优化过滤方法效果对比**体素滤波 基本保持点云形状及特征点,可以准确地保持宏观的几何外形。优化效率较好,时间根据参数线性增长,本点云建议参数为0.2直通滤波 以坐标系的值限制来进行滤波,该方法的使用比较灵活但完全取决于用户的限定字段和对应条件 ,适合过滤不需要的高度范围内的点,时间根据参数线性递增。统计滤波 可以用来剔除离群点,可能会改变点云的部分特征点,优化效率一般。时间根据参数线性递增,本点云建议参数为50,0.3半径滤波 用户指定每个的点一定范围内周围至少要有足够多的近邻,

2022-01-19 14:41:29 2256

原创 保姆级git指令上传代码至github

1、安装git这一步就不多说了,自行安装。2、创建Github存储库点击这里,创建存储库。将拿到的URL复制下来3、打开git-bash在你需要上传的代码的根目录下右键选择Git Bash Here4、git指令执行git clone https://github.com/slh0506/code.git(替换成自己的URL)然后会在你此时的目录下出现一个你存储库名字的目录,将你要上传的代码放入此目录中。再执行指令将存储库下面的文件都添加进来git add .git co

2022-01-19 14:16:55 171

原创 Q_INVOKABLE与invokeMethod

Q_INVOKABLE#define Q_INVOKABLE该宏定义在$QTDIR/src/corelib/kernel/qobjectdefs.h 中,目的在于让moc识别。使用Q_INVOKABLE来修饰成员函数,目的在于被修饰的成员函数能够被元对象系统所唤起。QMetaObject::invokeMethodinvokeMethod的用法为,尝试调用对象obj的方法member(注意member可以为信号或者是槽),如何member可以被调用,则返回真,否则返回假。QMetaObject::

2022-01-19 13:54:47 136

原创 C到C++ 1

C语言优点:1.直接访问硬件2.运行效率3.移植性C++优点:1.良好复用性2.良好维护性3.良好扩展性复用性:已开发好的代码可以在其他项目中直接使用(!=ctrl+c ctrl+v)维护性:当程序出现问题,能够很快的查找出问题出现在哪一行代码扩展性:当你添加新的功能时,不修改原来的代码,只添加新的代码c++命名空间使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲...

2020-03-09 15:30:06 161

转载 存储空间的分布

存储空间的分布程序的空间分布通常分为(地址从下到上):代码段初始化数据段未初始化数据段堆栈分布如下图所示:(图片来自:C语言内存空间分布详解)这里写图片描述堆地址是从下到上增长,栈地址从上到下增长。一个例题:判断a,b,c,d的存储空间?int a=0;class someClass{int b;static int c;};int main(){int d=...

2020-03-02 18:08:33 341

转载 分配内存

分配内存的方法面试中比较见问的一个问题。注意:只有calloc函数会将分配内存初始化为0new是C++独有的,其是运算符,而不是函数。下面对其分别进行介绍:malloc 函数:void *malloc(unsigned int size)1在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功,则返回所分配内存空间的首地址,否则返回NULL,申请的内存不会进...

2020-03-02 18:07:58 86

原创 C++ 1

学习了第一章,和学习C语言的感受差不多,当初老师们说只要学好了C语言,学习其他语言就是依样画葫芦,现在自己亲身体验,果然是这样。看完第一章,发现了C语言和C++有好多相似之处1.他们都有预处理指令和头文件以及最后输出的返回值。2.他们表示数的方式都相同,包括类似(二进制数,八进制数,十进制数,十六进制数,负的二进制数,浮点数)。3.表示字符的方式相同。不过,他们在某些方面还是有很大的差别...

2020-03-02 18:06:26 141

转载 shell 15

15、制定目录路径,脚本自动将该目录使用 tar 命令打包备份到/data目录#!/bin/bash#制定目录路径,脚本自动将该目录使用 tar 命令打包备份到/data目录[ ! -d /data ] && mkdir /data[ -z $1 ] && exitif [ -d $1 ];thentar -czf /data/$1.-date +%Y%...

2019-11-03 21:19:34 83

原创 shell14

14、显示当前计算机中所有账户的用户名称#!/bin/bash#显示当前计算机中所有账户的用户名称#下面使用3种不同的方式列出计算机中所有账户的用户名#指定以:为分隔符,打印/etc/passwd 文件的第 1 列awk -F: ‘{print $1}’ /etc/passwd#指定以:为分隔符,打印/etc/passwd 文件的第 1 列cut -d: -f1 /etc/passw...

2019-11-03 21:18:56 87

转载 shell13

13、测试用户名与密码是否正确#!/bin/bash#测试用户名与密码是否正确#用户名为 tom 并且密码为 123456,则提示登录成功,否则提示登录失败read -p “请输入用户名:” userread -p “请输入密码:” passif [ “user"′tom′−a"user" == ‘tom’ -a “user”′tom′−a"pass” == ‘123456’ ...

2019-11-03 21:18:03 89

转载 shell 12

12、生成随机密码(进程 ID 版本,数字密码)#!/bin/bash#生成随机密码(进程 ID 版本,数字密码)echo $$————————————————版权声明:本文为CSDN博主「yinxianpei666」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/yinxianpei666/a...

2019-11-03 21:17:26 69

转载 shell 11

11、删除某个目录下大小为 0 的文件#!/bin/bash#删除某个目录下大小为 0 的文件#/var/www/html 为测试目录,脚本会清空该目录下所有 0 字节的文件dir="/var/www/html"find $dir -type f -size 0 -exec rm -rf {} ;————————————————版权声明:本文为CSDN博主「yinxianpei666...

2019-11-03 21:16:45 121

转载 shell 4

9、点名器脚本#!/bin/bash#编写一个点名器脚本#该脚本,需要提前准备一个 user.txt 文件#该文件中需要包含所有姓名的信息,一行一个姓名,脚本每次随机显示一个姓名while :do#统计 user 文件中有多少用户line=cat user.txt |wc ‐lnum=$[RANDOM%line+1]sed -n “${num}p” user.txtsleep...

2019-10-27 21:03:13 84

转载 shell3

8、编写批量修改扩展名脚本#!/bin/bash#编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件#执行脚本时,需要给脚本添加位置参数#脚本名 txt doc(可以将 txt 的扩展名修改为 doc)#脚本名 doc jpg(可以将 doc 的扩展名修改为 jpg)for i in “ls *.$1”domv $i ${i%.*}.$2done————————...

2019-10-27 21:02:45 81

转载 shell

#!/bin/bash#脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,#猜小了或猜大了,直至用户猜对脚本结束。#RANDOM 为系统自带的系统变量,值为 0‐32767的随机数#使用取余算法将随机数变为 1‐100 的随机数num=$[RANDOM%100+1]echo “$num”#使用 read 提示用户猜数字#使用 if 判断用户猜数字的...

2019-10-27 21:02:08 79

转载 shell 2

10、统计/var/log 有多少个文件,并显示这些文件名#!/bin/bash#统计/var/log 有多少个文件,并显示这些文件名#使用 ls 递归显示所有,再判断是否为文件,如果是文件则计数器加 1cd /var/logsum=0for i in ls -r *doif [ -f $i ];thenlet sum++echo “文件名:$i”fidoneecho “...

2019-10-27 21:01:18 88

转载 shell 1

#!/bin/bash#每周 5 使用 tar 命令备份/var/log 下的所有日志文件#vim /root/logbak.sh#编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖#注意 date 命令需要使用反引号括起来,反引号在键盘键上面tar -czf log-date +%Y%m%d.tar.gz /var/log#crontab ‐e #编写计划任...

2019-10-27 21:00:33 73

原创 shell编程

5、编写批量修改扩展名脚本#!/bin/bash#编写批量修改扩展名脚本,如批量将txt文件修改为doc文件#执行脚本时,需要给脚本添加位置参数#脚本名 txt doc(可以将txt的扩展名修改为doc)#脚本名doc jpg(可以将doc的扩展名修改为jpg)for i in "ls .$1"domv $i ${i%.}.$2done...

2019-10-20 21:45:31 48

原创 shell编程

4、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用 UID 数字对比版本)#!/bin/bash#如果是管理员,则使用 yum 安装 vsftpdif [ $UID -eq 0 ];thenyum ‐y install vsftpdelse#如果不是,输出无法安装软件echo “您不是管理员,没有权限安装软件”f...

2019-10-20 21:40:18 45

原创 shell编程

7、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用字串对比版本)#!/bin/bash#如果是,则使用 yum 安装 vsftpdif [ $USER == “root” ]thenyum ‐y install vsftpdelse#输出不是管理员echo “您不是管理员,没有权限安装软件”fi...

2019-10-20 21:38:25 43

原创 shell编程

2、通过位置变量创建 Linux 系统账户及密码#!/bin/bash#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数useradd “$1”echo “$2” | passwd ‐‐stdin “$1”...

2019-10-20 21:36:37 49

原创 shell编程

1、编写hello world脚本#!/bin/bash#输出helloworldecho “Hello World!”

2019-10-20 21:35:52 47

原创 linux 我对gdp的认识

调试器:gdb三大特点:1.启动被调试的程序;2.可以设置断点,单步执行;3.查看变量的值;查看源代码:list 可执行文件–tuiLayout split layout src layout asm;断点:break+行号;break+行号+条件;Break+函数名Info break;Delete+断点编号,disable+断点编号,enable+断点编号,clear...

2019-10-06 23:27:36 408

转载 linux gdp调试

赖关系上面的文件 hello ,它依赖 hell.ohello.o , 它依赖 hello.shello.s , 它依赖 hello.ihello.i , 它依赖 hello.c 依赖方法gcc hello.* -option hello.* ,就是与之对应的依赖关系$@   存放的的是编写规则中的目标文件对象$^  &n...

2019-10-06 23:26:27 702

转载 linux gdp使用

Linux调试器-gdb使用1.背景程序的发布方式有两种,debug模式和release模式Linux gcc/g++出来的二进制程序,默认是release模式要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项 2. 开始使用 gdb binFile 退出: ctrl + d 或 quit 调试命令:list(l) 行号:显示binF...

2019-10-06 23:25:52 2035

转载 linux基础

mysql 在进入用户时注意是上一级目录root不允许远程连接; 允许远程连接: update user set password=password(‘你的密码’) where user=’root’;赋予用户权限:update user set host =’%’ where user =’lt’;flush privileges;GRANT ALL PRIVILEGES ON . TO ...

2019-09-26 15:47:01 96

转载 linux命令

三、常用命令(按tab建自动补全)1、注销、关机、重启注销 :logout(登出 )或者exit(退出)关机 :shutdown - h  时间  - h :关机- 时间 :1. now :马上2. 12.30 :指定具体时间3. 3  :几分钟以后注意:关机并不是每个用户都可以完成的,需要超级用户或者被授权的用户来执行该命令,普通用户...

2019-09-26 15:42:57 98 1

转载 linux安装

6、Linux操作系统安装6.1、使用VMware workstation进行安装a. 由于之前没有指定iso镜像文件,因此此处需要先指定系统镜像文件b. 运行此虚拟机注意:如果开机之后鼠标点进去虚拟机出不来,则可以按下组合快捷键“ctrl+alt”。如果启动之后出现类似提示框(不是错误框)则勾选不再提示,并且确定即可:如果在启动时候出现下述错误,则说明电脑没有开启cpu...

2019-09-08 23:43:16 122

转载 虚拟机创建

5、新建虚拟机5.1、使用VMware Workstation(重点)①点击“文件”菜单,选择“新建虚拟机…”选项,选择“自定义”点击下一步②选择兼容性,默认即可,直接下一步③选择镜像文件的时候选择“稍后….”,点击下一步④选择需要安装的操作系统⑤选择虚拟机的名称(名称将会后期出现在左侧)和设置虚拟系统的安装位置⑥cpu设置⑦分配内存⑧选择网络类型,选择nat即...

2019-09-08 23:42:18 69

转载 linux学习

一、Linux发展史1、Linux前身-Unix1968年  Multics项目MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。1970年(Unix元年,时间戳)  Unix诞生当时在开发Multics项目的时候,实验室中有一个...

2019-09-08 23:40:43 79

基于Qt和海康SDK的监控demo,实现预览、回放、抓图和布防报警,C++实现

qt实现的基于海康SDK的视频监控demo,实习时写的,基本需求都已实现,框架已完善,可二次开发,初学者可借鉴学习

2022-01-19

空空如也

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

TA关注的人

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