自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (7)
  • 收藏
  • 关注

原创 QtService实现后台服务linux,windows

qtservice_p.h,qtservice.h,qtservice.cpp,qtservice_unix.cpp,qtunixserversocket.h,qtunixserversocket.cpp,qtunixsocket.h,qtunixsocket.cpp文件。qtservice_p.h,qtservice.h,qtservice.cpp,qtservice_win.cpp文件。systemctl stop myService.service //停止服务。2.windows服务注册脚本。

2024-07-18 11:33:14 675

原创 从 QWebEnginePage 打印文档

对于https的url连接,会出现"你的连接不是专用连接"报警,需要跳过这个报警所以要继承QWebEnginePage做个类。是 Qt WebEngine 模块中的一个类,它提供了用于处理网页内容的接口。中的内容,你可以使用。

2024-07-11 18:10:16 502

原创 基于openssl实现AES ECB加解密

AES加密,全称高级加密标准(Advanced Encryption Standard),是一种广泛使用的对称加密算法,用于保护电子数据的安全。

2024-06-05 14:54:27 1346

原创 linux查看端口占用情况

使用/proc文件系统:在Linux系统中,每个进程都有一个对应的目录,存储了该进程的相关信息。lsof(list open files)命令可以列出当前系统中打开的所有文件,包括网络端口。可以使用ps命令结合grep命令来查找某个进程,然后再查看该进程打开的网络端口。ss命令可以列出当前系统中打开的套接字(socket)信息,包括网络端口。,其中端口号为需要查询的端口号。,其中端口号为需要查询的端口号。,其中端口号为需要查询的端口号。,其中端口号为需要查询的端口号。,其中端口号为需要查询的端口号。

2023-11-14 13:56:34 377

转载 Linux环境下systemctl服务配置

配置服务开机自启动--在/etc/systemd/system/multi-user.target.wants/下创建软连接xxx.service指向/usr/lib/systemd/system/xxx.service,系统在启动的时候会遍历此目录下服务并自启动。1. 启动一个systemctl服务,linux系统会自动去/usr/lib/systemd/system/*.service或/etc/systemd/system/*.service目录下寻找被执行的文件,当文件不存在侧报错。

2023-11-01 16:02:09 520

原创 查看当前linux的桌面环境

ps -A | egrep -i "gnome|kde|mate|cinnamon|lx|xfce|jwm" //查找所有的桌面环境。echo $DESKTOP_SESSION //查看当前的桌面环境。

2023-07-31 14:47:05 515

转载 localtime、localtime_s、localtime_r的使用

会什么有了localtime还要有其他两个函数呢,因为localtime并不是线程安全的,观察localtime和localtime_r的调用发现,localtime在使用时,我们只需定义一个指针,并不需要为指针申请空间,而指针必须要指向内存空间才可以使用,其实申请空间的动作由函数自己完成,这样在多线程的情况下,如果有另一个线程调用了这个函数,那么指针指向的struct tm结构体的数据就会改变。/* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */

2023-07-27 17:21:55 1212

原创 C++ cannot bind non-const lvalue reference of type ‘QString&’ to an rvalue of type ‘QString’

解决方法是,在前面加一个const,或把引用去掉,函数内部会拷贝一份临时对象并绑定变量名变为左值。从该函数的定义上看,拿到QString之后 ,是可以对原本的QString进行修改的。传参一个右值对象,临时对象,则会出现这个问题。但对一个临时对象进行修改是无意义的,所以会报错。一个临时对象的引用,这怎么想都不合理。

2023-07-27 16:56:19 415

原创 大端小端及其转换

但存储多字节的数据的时候(比方说4字节的int变量),就涉及到了以一个什么样的顺序来存储。对于qFromBigEndian()函数,它会判断执行程序的主机的字节序,如果是大端模式的计算机,那么只是读取数据,不进行转换,如果是小端模式的计算机,那么则进行转换。||--1--||--2--||--3--||--4--||--5--||--6--||--7--||--8--|| 地址。对于qToBigEndian()函数,也有着上面的规则,对于小端模式的计算机进行转换,对于大端模式的计算机只进行读取。

2023-04-25 11:42:04 2684

原创 samba文件共享,windows与linux共享

Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。NFS 与 samba 一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持 windows 平台,samba 是能够在任何支持 SMB 协议的主机之间共享文件的一种实现,当然也包括 windows。SMB 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

2023-04-20 15:24:53 7211

转载 解决Centos 7安装了VMTools之后,不能找到共享文件夹的文件问题

之所以在/mnt/hgfs当中没有这个文件夹,是因为我们没有挂载.这里不像是centos6,给我们自动挂载的,所以需要我们自己将它挂载到其中。这时候我们输入以下的命令,将这个共享文件夹挂载到/mnt/hgfs当中。在虚拟机当中点击i键,然移动到配置末尾输入以下的配置,然后点击esc退出插入状态,输入:wq即可退出配置。这是我安装了vmtools并设置了共享文件夹之后在终端中并未找到相应的文件夹,它是空的。VMare_share是我自己在主机D盘设置的共享文件夹名,你们换成自己设置的名字就好。

2023-04-07 11:34:11 1411

原创 gcc升级

腾讯软件源 https://mirrors.cloud.tencent.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz。./contrib/download_prerequisites #运行gcc的依赖软件自动下载配置脚本,并配置安装依。验证:gcc -v;或者g++ -v,如果显示的gcc版本仍是以前的版本,就需要重启系统;# 安装后的动态库会位于/usr/local/lib64目录下,然后在查看版本 /usr/local/bin/gcc -v。

2023-03-28 16:19:19 771

原创 linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)

2. 保存过后ldconfig一下(ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.)1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib。

2023-03-28 14:23:26 3148

原创 两个unsigned char 转short,short转两个进制char

unsigned char 与short转换

2023-02-01 14:46:23 1450

转载 C++11 拷贝构造函数

1.拷贝构造函数在C++中,拷贝是指用已经存在的对象创建出一个新的对象。从本质上讲,对象也是一份数据,因为它会占用内存。严格来说,对象的创建包括两个阶段,首先要分配内存空间,然后再进行初始化:(1)分配内存很好理解,就是在堆区、栈区或者全局数据区留出足够多的字节。这个时候的内存还比较“原始”,没有被“教化”,它所包含的数据一般是零值或者随机值,没有实际的意义。(2)初始化就是首次对内存赋值,让它的数据有意义。注意是首次赋值,再次赋值不叫初始化。初始化的时候还可以为对象分配其...

2022-05-11 11:04:45 465

原创 openssl sm4 加解密

1.SM4算法介绍SM4 算法是一种分组密码算法。其分组长度为 16字节,密钥长度也为 16字节。加密算法与密钥扩展算法均采用 32 轮非线性迭代结构,以字(32 位)为单位进行加密运算,每一次迭代运算均为一轮变换函数 F。SM4 算法加/解密算法的结构相同,只是使用轮密钥相反,其中解密轮密钥是加密轮密钥的逆序。2.代码例子...

2022-05-07 15:14:37 6109 10

原创 openssl sm2 加解密

1.SM2算法openssl 1.1.1以后版本提供了对国密SM2算法的支持。源码的cryto/include/internall目录下有sm2,sm3,sm4的设计实现,但是无法直接调用,因此通过openssl的evp接口实现国密SM2算法的加解密。SM2公钥格式:公钥:04|X|Y,共65字节;私钥格式:整数,共32字节。密文格式结构体为,typedef struct SM2Cipher_st { ASN1_INTEGER *xCoordinate; .........

2022-05-05 17:27:53 10398 11

原创 openssl RSA 加解密

1.openssl 安装与更新openssl1.1.1之后支持国密SM2,SM3,SM4,所以安装openssl1.1.1d,选择源码安装的方式,下载 openssl 源码包:https://www.openssl.org/source/openssl-1.1.1d.tar.gz[root@V-Ubuntu18-002 ~]# openssl versionOpenSSL 1.1.1d 10 Sep 2019[root@V-Ubuntu18-002 ~]# which openssl/us.

2022-04-27 14:58:45 2429

原创 C++ 智能指针 shared_ptr

一 shared_ptr概述shared_ptr 是C++11提供的一种智能指针类,它足够智能,可以在任何地方都不使用时自动删除相关指针,从而帮助彻底消除内存泄漏和悬空指针的问题。它遵循共享所有权的概念,即不同的 shared_ptr 对象可以与相同的指针相关联,并在内部使用引用计数机制来实现这一点。每个 shared_ptr 对象在内部指向两个内存位置:1、指向对象的指针。2、用于控制引用计数数据的指针。共享所有权如何在参考计数的帮助下工作:1、当新的 shared_ptr 对象与指针关联

2022-04-27 11:31:22 258

原创 C++ 智能指针 unique_ptr

#include <stdio.h>#include <memory>#include <iostream>#include <functional> class A{public: A(int a):ma(a) { std::cout << "demoA 构造 "<<"ma:"<<ma<< std::endl; } A() { ...

2022-04-24 17:02:49 1379

原创 openssl 对自定义结构体 按ASN.1的der编码规则进行编码

数据序列化,为将高级语言代码转变成二进制流的过程称为数据的序列号,数据序列化的目的是物理存储或网络传输。在计算机高级程序编程语言里有许多结构化的结构,比如:数、图和结构体等,如何在网络中传输这些结构化的结构数据呢?我们知道高级语言里面的任何代码最终在网络中都是以二进制流的形式进行传输的,但是对于结构化的数据除了编成二进制码外,他们之间还存有一定的关系,为了在对方仍然知道这些关系以用来还原之前的结构,因此除了对结构化的数据进行编码外还得需要保存好他们的结构关系。为了解决高级语言中结构化数据...

2022-04-19 14:41:56 1922

原创 openssl公钥格式转换

openssl默认生成的RSA公钥为pem格式的,即公钥数据经过BASE64编码再加上头和为的数据。获取公钥原始数据,需要对秘钥进行base64解码。pem公钥解码获取公钥数据代码如下:#include <openssl/rsa.h>#include <openssl/pem.h>#include <openssl/err.h>#include <openssl/evp.h>#include <openssl/ec.h>#inclu

2022-04-12 16:09:02 3629

转载 openssl RSA公钥私钥说明

生成一个密钥:openssl genrsa -out test.key 1024这里-out指定生成文件的。需要注意的是这个文件包含了公钥和密钥两部分,也就是说这个文件即可用来加密也可以用来解密。后面的1024是生成密钥的长度。openssl可以将这个文件中的公钥提取出来:openssl rsa -in test.key -pubout -out test_pub.key-in指定输入文件,-out指定提取生成公钥的文件名。至此,我们手上就有了一个公钥,一个私钥(包含公钥)。现在可以

2022-04-12 14:11:38 5568

转载 windows10环境下的RabbitMQ安装步骤(图文)

记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘。第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。下载地址:http://www.erlang.org/downloads根据本机位数选择erlang下载版本。下载完是这么个东西:双击,点next就可以。选择一个自己想保存的地方...

2022-04-02 09:43:47 309

原创 C++11-lambda表达式

Lambda函数也就是一个函数,它的语法定义如下:[捕获列表](参数列表) mutable ->返回类型{函数体}捕获形式 捕获类型 说明[] 不捕获 不捕获外部变量[变量名, …] 显式捕获 默认以值得形式捕获指定的多个外部变量(用逗号分隔),如果引用捕获,需要显示声明(使用&说明符)[this] 显式捕获 以值的形式捕获this指针[=] 隐式捕获 以值的形式捕获所有外部变量[&am...

2022-03-08 16:48:13 761

原创 C/C++ 回调函数

在其他函数中通过函数指针调用该函数的过程称为回调,即通过传参的方式将函数地址传递给其他函数,然后在其他函数中使用该函数,该函数被叫做回调函数。一、C中回调函数使用回调函数主要是利用函数指针实现的,函数指针与一般指针一样定义,不过需要明确返回值类型与形参类型int(*callbackfun)(int, int),调用函数形式如下,、,void fun(int(*callbackfun)(int, int), int a, int b){ callbackfun(a,b);}为了使

2022-03-04 23:14:01 5014

原创 Qt—文件操作相关

1QFile类QFile

2020-05-14 23:50:55 212

原创 Qt Http使用——阻塞与非阻塞post请求

在Qt使用Http进行请求,主要使用的是以下几个类:QNetworkAccessManager ; 用来发送网络请求和接收应答QNetworkRequest ; 网络请求类QNetworkReply; 网络回复类QUrl ; 地址类在构造函数或者连接函数中 ,进行地址,请求头设置。非阻塞请求,通过管理器的finished信号和槽函数进行处理,收到消息返回会发出信号url =...

2020-05-06 23:40:51 2558

原创 Qt widget窗口去除标题框,模态,置顶,窗体透明

this->setWindowFlags(Qt::FramelessWindowHint); //去除标题框this->setWindowFlags(Qt::WindowStaysOnTopHint); //窗口置顶this->setAttribute(Qt::WA_ShowModal, true); //窗口模态

2020-04-14 08:13:15 3024

原创 Qt数据库——sqlit

第一行创建了一个连接对象,创建后初始化了数据名,open函数打开后就可以使用。 QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");//建立数据库 db.setDatabaseName("powerSkiving.db"); if(!db.open()) { QMessageBox::warning...

2020-02-11 22:44:34 304

原创 Qt遍历指定文件夹下图片并显示

义文件夹路径i,筛选指定文件后缀,得到文件名的集合,鼠标点击在label上循环显示图片。.h文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QDir>namespace Ui {class Widget;}class Widget : public QWidget...

2020-02-11 17:11:48 6560 4

原创 Linux网络编程——udp套接字(单播)

下服务器(server)端的程序server.c:#include <stdio.h>#include <string.h>#include <sys/socket.h>#include <netinet/in.h>int main(int argc, char **argv){int n;char recvline[102...

2020-02-01 23:42:13 313

原创 linux网络编程——tcp套接字

1.头文件#include <stdlib.h>#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <string.h>2.接受发送流程服务端#include <stdlib.h>#include ...

2020-02-01 22:26:40 214

原创 linux线程同步

1. 互斥锁 (1)创建互斥锁:pthread_mutex_t mutex; (2)初始化这把锁:pthread_mutex_init(&mutex, NULL); -- mutex = 1 (3)寻找共享资源: 操作共享资源的代码之前加锁 pthread_mutex_lock(&mutex); -- mutex ...

2020-02-01 01:41:02 125

原创 linux线程——pthread_create、pthread_cancel、pthread_join、pthread_testcancel();

线程需要头文件#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <string.h>#include <pthread.h>创建线程 ...

2020-01-28 00:56:16 1233

原创 Qt处理同类控件findchildren()

QList<QLineEdit *> lineEditList=ui->findChildren<QLineEdit *>();for (int i=0;i<lineEdit.count();i++) { lineEditList.at(i)->setText("mytest");}一个简单的例子,遍历界面上所有QLineEdit控件...

2019-11-02 00:21:40 1222

原创 unbuntu 修改系统时间以及递归修改文件时间

查看系统时钟的操作:date使用hwclock或clock命令查看和设置硬件时钟查看硬件时钟的操作:hwclock --show 或clock --show修改系统日期date -s 01/26/2019修改系统时间date -s 06:12:01设置硬件时钟的操作hwclock --set --date="09/17/2003 13:26:00"或者c...

2019-10-29 09:48:26 386

原创 Hi3559A交叉编译工具安装及Qt移植

此博文是对工作的记录。参考博文https://blog.csdn.net/yfkyfk521/article/details/89446969,感谢作者。系统:Ubuntu12.0.4交叉编译工具:aarch64-himix100-linux-Qt版本:qt4.8.61.安装交叉编译工具链交叉编译工具会在海思SDK包里,按照文档配置安装交叉编译工具。安装完成可以找到aarc...

2019-08-08 00:59:18 4379 2

原创 Qt多线程(一)

1.摘要Qt实现多线程机制主要有两种方法,一是继承QThread重写Run函数,另一种是创建一个继承QObject的类在其中movethread到另一个线程中。1.方法一实现多线程用一个简单例子说明使用继承QThread重写Run函数实现多线程。新建一个工程,添加一个Thread类继承QThread头文件:#ifndef THREAD_H#define THREAD_H#include &lt;Q...

2018-03-21 10:06:15 269

Ventoy 是一款开源免费的多合一系统安装盘/启动盘制作工具,它最大的好处在于,你可以在 1 个 U 盘里集成 N 多款不同类

Ventoy 是一款开源免费的多合一系统安装盘/启动盘制作工具,它最大的好处在于,你可以在 1 个 U 盘里集成 N 多款不同类

2023-08-17

mobaxterm,方便好用ssh软件

mobaxterm,方便好用ssh软件

2023-08-17

wsdl_h265.rar

使用gsoap离线搭建onvif的框架的onvif的离线包,可以离线使用gsoap编译出onvif。在线编译不稳定,经常连接不上。

2020-03-13

海思hi3559mpp功能开发文档

海思3559a MPP文档,主要是开发参考,可以配合官方示例学习, HDMI 开发参考.pdf HiFB API参考.pdf HiFB 开发指南.pdf HiMPP V4.0 媒体处理软件开发参考.pdf HiMPP 媒体处理软件 FAQ.pdf MIPI使用指南.pdf PCIE级联 应用指南.pdf RTC 应用指南.pdf TDE API参考.pdf 图形开发用户指南.pdf 开机画面使用指南.pdf 。。。。。

2019-08-17

Qt多线程通讯

Qt做的一个DEMO,用信号槽实现多线程通讯,主线程写入参数,子线程处理完发给主线程

2019-02-27

Qt串口通讯

用Qt做的一个串口调试助手,实现了基本功能,支持10进制 16进制

2019-02-27

Qt操作Word的小DEMO

一个在Qt操作Word的小DEMO,使用COM接口实现向Word模板文件插入文字然后保存

2018-02-26

Qt tcp调试助手

用Qt写的一个简易的TCP/IP 调试助手,支持服务端和客户端消息互发

2018-01-23

空空如也

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

TA关注的人

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