- 博客(30)
- 资源 (30)
- 收藏
- 关注
原创 Linux下Qt程序运行时找不到so的解决办法
一、全局性设置将so放入相应的系统lib目录;修改环境变量,在环境变量中添加so所在路径;修改一些文件,在其中指定so所在路径。大概有上面的这3种方式,就不详细说了,相信大家都清楚。二、指定编译选项上面介绍的方式,无一例外,都需要修改环境,在我们发布的程序,我们希望不要对环境进行修改。我们无非就是要求能找到so,仅此而已。推荐使用指定gcc编译选项来实现。假设,我们使用Qt开发的程序,希望在程序所在目录下lib/中去寻找so,那么可以在程序工程的.pro文件中,添加如下编译选项:QM
2021-01-28 16:00:27 6026 3
原创 利用线程与环形缓冲区实现对数据的异步存储
利用线程与环形缓冲区实现对数据的异步存储一、流程图二、FileSave文件异步存储类三、测试代码一、流程图数据流首先,进入缓存至环形缓冲区,当缓冲区中一个缓存块被填满后,释放信号量给线程;线程被唤醒,从缓冲区中取出一个缓存块的数据,并写入文件。以上,就是2个主要过程,如此循环往复。当然还有很多细节没有介绍,诸如,缓存块读、写指针的控制等。二、FileSave文件异步存储类以上所讲过程,全部封装到了FileSave类中。数据推送接口,RealUCharPort.h#ifndef REAL
2021-01-27 18:26:51 571
原创 Resource Hacker-资源替换工具
Resource Hacker是一款免费查看,修改,添加,删除和重命名,提取Windows可执行文件和资源文件的资源替换工具,Resource Hacker反编译工具是相当于eXeScope的反编译工具,并且有很多方面比eXeScope反编译还强的软件。官网地址:http://www.angusj.com/resourcehacker/软件下载地址:http://www.angusj.com/resourcehacker/resource_hacker.zip运行效果:更多帮助,参考官网链接
2021-01-27 16:25:55 9761
原创 CPU测试相关工具搜集
CPU测试相关工具搜集一、y-cruncher(CPU性能测试工具)二、CPU-Z(CPU参数查看工具)三、cachesize(读取CPU Cache信息)四、Flops(CPU浮点运算性能测试工具)五、Open Hardware Monitor(温度、风扇、电压等监控工具)六、Process Hacker(系统进程、状态查看工具)一、y-cruncher(CPU性能测试工具)y-cruncher是一款通过计算PI的方式,来测试CPU性能的开源软件。自2009年推出以来,它已经成为超频和硬件发烧友的通用
2021-01-27 16:08:04 15923
原创 基于Qt的上古神器-Qt Cryptographic Architecture (QCA)加密库介绍
Qt Cryptographic Architecture是一个基于Qt的开源项目,简称QCA。该项目,使用Qt对OpenSSL进行了封装,以便向用户,提供一系列,更简单易用的加解密API。Github地址:https://github.com/highfidelity/qca可以看到,最近一次更新代码,已是7年前,想必是半截身体已入土。博主之所以,写这篇博客,目的在于,虽该项目没有继续维护,但是该项目对OpenSSL的封装,代码实现方案和思路,可能值得我们去了解学习。按照官方的说法,如下:Q
2021-01-26 17:58:56 1590 2
原创 Qt为工具栏按钮QToolButton添加下拉菜单
效果如下:主要代码如下:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); createToolButton();}void MainWindow::createToolButton(){ // 创建QToolButton QToolButton *toolButton = new
2021-01-26 17:23:41 8347 1
原创 Qt使用OpenGL实现立方体贴图
效果如下:实现代码3个文件,TestWidget.h、TestWidget.cpp、main.cpp。TestWidget.h:#ifndef TESTWIDGET_H#define TESTWIDGET_H#include <QGLWidget>class TestWidget : public QGLWidget{ Q_OBJECTpublic: explicit TestWidget(QWidget *parent = nullptr); ~
2021-01-26 15:31:06 834
原创 Linux下多so文件情形的dump文件异常定位(基于qBreakpad)
如果对linux下如何生成dump,以及如何利用dump文件定位崩溃点,不清楚,可以先参考此文《Linux下Qt生成dump文件并定位bug(基于qBreakpad)》。在上文中,我们以单文件程序为例,当异常发生于单文件程序内部时,定位崩溃点过程进行了说明。本文中,将着重讲解App+多个So动态库文件的开发形式下,异常发生于so文件中,该如何来定位问题。一、生成dump按照一样的方式,在主程序App中,调用qBreakpad,以异常发生时,自动生成dump。代码如下:main.cpp:#incl
2021-01-24 18:02:28 1905
原创 多次使用dpkg -i重复安装导致报错
使用dpkg -i安装deb,报错如下:报错时,使用apt-get remove xxx亦无法卸载。报错原因:使用dpkg -i第一次安装a.deb时,正常安装,无报错;在未卸载a.deb时,直接使用dpkg -i再次安装a.deb。实则本次安装a.deb时,会自动卸载前面所安装的a.deb,从安装目录看,旧a.deb确已卸载,但是不知为何dpkg状态文件(/var/lib/dpkg/status)中,仍然记录存在a.deb软件包,如下图所示:故而,导致本次安装失败,以及以后再次安
2021-01-24 12:04:38 2325 2
原创 Linux下Qt生成dump文件并定位bug(基于qBreakpad)
手把手实现Qt生成dump文件并定位Bug(Linux下)一、dump和pdb是什么二、搜集跨平台生成dump的方案三、基于qBreakpad生成dump文件1、Breakpad介绍2、源码准备(1)下载Breakpad源码(2)下载LSS源码(3)下载qBreakpad源码3、将Breakpad、LSS源码放入third_party目录4、编译qBreakpad(1)qBreakpad工程介绍(2)源码bug修正(3)编译生成qBreakpad.lib5、在程序中调用qBreakpad6、生成dump文件
2021-01-23 18:08:16 4991 17
转载 使用多个路由器有线桥接实现无线漫游
虽然 WDS 是平价的无线漫游实现最优先考虑的方案.但 WDS 几个路由之间的通信还是无线,无线没有有线稳定这是不争的事实.使用有线桥接来实现无线漫游,各个路由之间的通信通过有线,相对来说理论上要稳定些。示例:三个路由器,一主二从.两个也行,我这只是演示,表示接两个三个从路由都是没问题的.1. 主路由设置主路由和普通路由设置没有差别, Wan 口接光猫, Lan 接电脑和从路由器.主路由为 openwrt 系统,其Lan IP 为 192.168.2.1.我的主路由设置截..
2021-01-20 14:18:02 8273 3
原创 Qt基于QuaZIP实现文件压缩/解压(Linux下)
Qt基于QuaZIP实现文件压缩/解压(Linux下)一、工具准备二、编译zlib1、下载zlib源码2、配置3、编译与安装三、编译QuaZIP1、下载QuaZIP源码2、将zlib库和头文件加入QuaZIP工程3、使用Qt Creator进行编译四、调用QuaZIP实现压缩/解压QuaZIP是使用Qt/C++对ZLIB进行简单封装的用于压缩及解压缩ZIP的开源库。适用于多种平台,利用它可以很方便的将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。Qt中提供了qCompress
2021-01-19 20:34:37 2466 4
原创 Qt基于QuaZIP实现文件压缩/解压(Win下)
Qt基于QuaZIP实现文件压缩/解压(Win下)一、工具准备二、编译zlib1、下载zlib源码2、生成VS工程文件3、使用VS进行编译三、编译QuaZIP1、下载QuaZIP源码2、将zlib库和头文件加入QuaZIP工程3、使用Qt Creator进行编译四、调用QuaZIP实现压缩/解压QuaZIP是使用Qt/C++对ZLIB进行简单封装的用于压缩及解压缩ZIP的开源库。适用于多种平台,利用它可以很方便的将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。Qt中提供了qC
2021-01-19 17:13:17 2614 4
原创 在Windows下编译Breakpad
在windows下编译breakpad一、工具准备1、安装VS20172、安装python2.7.133、安装GYP二、下载Breakpad源码三、生成源码的VS工程文件四、使用VS编译源码Breakpad是Google公司开发的开源多平台C++崩溃检测库。Breakpad可以捕获发布给用户的应用程序的崩溃,并记录软件崩溃的调试信息到“minidump”文件中,即*.dmp。一、工具准备1、安装VS2017参考《Visual Studio Community 2017安装步骤(只装C++)》2、安
2021-01-13 18:12:23 3253 2
原创 Windows下Qt生成dump文件并定位bug(基于qBreakpad)
手把手实现Qt生成dump文件并定位Bug(Windows下)一、dump和pdb是什么二、搜集跨平台生成dump的方案三、基于qBreakpad生成dump文件1、Breakpad介绍2、源码准备(1)下载Breakpad源码(2)下载LSS源码(3)下载qBreakpad源码3、将Breakpad、LSS源码放入third_party目录4、编译qBreakpad(1)qBreakpad工程介绍(2)源码bug修正I、在Debug模式下编译demo工程时,报错II、编译demo工程时,报错III、编译t
2021-01-13 16:57:27 6672 18
原创 实战篇-OpenSSL之TripleDES加密算法-OFB64模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-OFB64模式一、TripleDES简介二、OFB64模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现OFB64模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年
2021-01-10 18:05:48 656
原创 实战篇-OpenSSL之TripleDES加密算法-CFB64模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-CFB64模式一、TripleDES简介二、CFB64模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB64模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年
2021-01-10 17:57:15 1162
原创 实战篇-OpenSSL之TripleDES加密算法-CFB1模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-CFB1模式一、TripleDES简介二、CFB1模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB1模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被AN
2021-01-10 17:49:46 457
原创 实战篇-OpenSSL之TripleDES加密算法-ECB模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-ECB模式一、TripleDES简介二、ECB模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现ECB模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组
2021-01-10 17:29:03 1657 2
原创 实战篇-OpenSSL之TripleDES加密算法-CBC模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-CBC模式一、TripleDES简介二、CBC模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CBC模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组
2021-01-10 17:09:07 3139
原创 在Linux下安装GmSSL
在Linux下安装GmSSL一、关于GmSSL二、解决与系统OpenSSL冲突的问题三、GmSSL源码准备四、编译与安装GmSSL1、解压并进入目录2、编译选项3、编译4、安装5、配置环境变量一、关于GmSSLGmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应
2021-01-08 17:06:23 13758 6
原创 在Windows下安装GmSSL
在Windows下安装GmSSL一、编译工具准备1、安装VS20172、安装ActivePerl3、安装NASM二、GmSSL源码准备三、编译与安装GmSSL1、进入GmSSL源码目录2、配置编译生成64位的库3、编译4、安装5、配置环境变量四、解决编译报错一、编译工具准备1、安装VS2017按照此文进行安装,《Visual Studio Community 2017安装步骤(只装C++)》。主要使用它的编译器,若已安装,则跳过。2、安装ActivePerl64位ActivePerl-5.26下
2021-01-07 21:40:48 10256 8
原创 Qt的pro文件中路径带空格的处理办法
使用$$quote(xxx),对带空格的路径进行包围一个错误的例子如下:INCLUDEPATH += C:/Program Files/GmSSL/includeLIBS += -LC:/Program Files/GmSSL/lib -llibcrypto编译时,找不到头文件,因为路径C:/Program Files中带了空格,所以需要处理下,如下:INCLUDEPATH += $$quote(C:/Program Files/GmSSL/include)LIBS += -L$$quote(
2021-01-07 17:05:34 3229 2
原创 实战篇-OpenSSL之调用EVP框架实现AES多种加密模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之调用EVP框架实现AES多种加密模式一、OpenSSL EVP简介二、EVP中对称加密与解密流程三、通过EVP实现AES多种加密模式四、测试代码一、OpenSSL EVP简介OpenSSL EVP(high-level cryptographic functions)提供了丰富的密码学中的各种函数。Openssl 中实现了各种对称算法、摘要算法以及签名/验签算法。EVP 函数将这些具体的算法进行了封装。通
2021-01-06 20:38:51 6890 1
原创 实战篇-OpenSSL之AES加密算法-OFB128模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-OFB128模式一、AES简介二、OFB128模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现OFB128模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五
2021-01-06 19:29:18 4109
原创 实战篇-OpenSSL之AES加密算法-CFB128模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CFB128模式一、AES简介二、CFB128模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB128模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五
2021-01-06 19:11:39 6757 4
原创 实战篇-OpenSSL之AES加密算法-CFB8模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CFB8模式一、AES简介二、CFB8模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB8模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程
2021-01-06 19:00:29 2327
原创 实战篇-OpenSSL之AES加密算法-CFB1模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CFB1模式一、AES简介二、CFB1模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB1模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程
2021-01-06 17:59:10 1182
原创 实战篇-OpenSSL之AES加密算法-CBC模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CBC模式一、AES简介二、CBC模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CBC模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级
2021-01-06 16:56:04 17354 4
原创 实战篇-OpenSSL之AES加密算法-ECB模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-ECB模式一、AES简介二、ECB模式1、命令行操作2、函数说明3、编程实现(1)PKCS7填充方式(2)实现ECB模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选
2021-01-06 16:34:51 14880 2
NEMU模拟器源码(DiffTest)
2024-07-15
DOSBox-MASM.rar
2023-10-12
AMD处理器编程指导手册
2023-02-18
CodeEditor源码文件
2022-12-07
CXL2.0协议规范文档-中文版
2022-10-27
CXL1.1协议规范文档-中文版
2022-10-27
SourceInsight4.0仿VS2013代码风格主题
2022-02-16
2020最新个税计算器打包脚本
2020-10-19
2020最新个税计算器免安装版
2020-10-19
2020最新个税计算器安装包
2020-10-19
cachesize-master.zip
2020-09-23
processhacker-2.39-sdk.zip
2020-09-23
Flops-master.zip
2020-09-13
processhacker-2.39-src.rar
2020-09-13
processhacker-2.39-bin.rar
2020-09-13
AMD_block_prefetch_paper.pdf
2020-09-13
qt-vsaddin-msvc2017-2.4.3-rev.07.vsix
2020-09-13
boost_reflect-master.rar
2020-09-13
Win64OpenSSL-1_0_2u.rar
2020-09-13
rttr-0.9.5-win64-vs2015.7z
2020-09-13
ResourceHacker.rar
2020-09-13
FastMemcpy-master.zip
2020-09-13
openssl-1.0.1a.tar.gz
2020-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人