自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 资源 (19)
  • 问答 (2)
  • 收藏
  • 关注

原创 小工具(字符集转换、编码转换、摘要、对称加解密)

刚闲下来两天,做个工具吧,一直都想把之前的完善掉,后来想想之前做的确实有点烂,毕竟工作又这么久了,自己攒的代码也是比较多了,有一些经常要用,索性做了一个可视化的工具,方便他人使用。不好看,只是实用的工具,本来想优化下按钮和界面,毕竟是个工具,实用就好啦~!!!支持Windows XP以上任意系统下载地址:https://download.csdn.net/download/xuebing19...

2019-12-17 15:17:15 1105 7

原创 基于MFC的Socket客户端和服务端通信

前段时间用MFC写了一个基于Socket的服务端和客户端的加密通信,是一个短连接。数据库用的MySQL。我直接上几张图吧,代码不贴出来了,比较懒,我放下载链接。 Server下载地址Client下载地址MySQL导出文件 mysql文件可以自己建立,就两个表,几个变量,代码中需要修改数据库的链接以及密码。效果图 最近比较懒,代码请各位自行下载吧。 黑名单

2018-01-30 13:02:06 6340 11

原创 Hibernate 第一个程序的问题Unknown entity(新手必看)

一、在Eclipse下建立Java工程HibernateDemo二、新建lib文件夹导入hibernate/ required文件夹下的包以及数据库所需要的包我下的是hibernate版本为: hibernate-release-5.2.10.Final 用的是MySQL数据库,包为: mysql-connector-java-5.1.39-bin.jar 导入之后要Buil

2017-06-01 13:19:40 39458 6

原创 Linux依赖库查找顺序

1.目录说明:/lib根目录下的所程序的共享库目录。此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻,点类似于Windows上面的system32目录。理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。类似的目录还/usr/lib,/usr/local/lib等等。/usr/lib目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。这个目录功能类似/lib目录,理说,这里存放的文件应该是/b

2021-03-31 18:04:16 1202 1

原创 关于C函数返回指针

你真的理解C语言函数返回类型是指针的情况吗?2021-01-05 14:41:15char *test1(){ char b[10]="abc"; return b;}char *test2(){ static char b[10]="abc"; return b;}char *test3(){ char b[10]="abc"; char *pb=b; return pb;}char *test4(){ char *b="abc"; return b;}才

2021-01-05 14:54:39 3027 2

原创 C/C++ 获取环境变量的值

函数名: getenv功 能: 从环境中取字符串,获取环境变量的值头文件: stdlib.h用 法: char *getenv(char *envvar);getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为envvar=value。getenv函数的返回值存储在一个全局二维数组里,当你再次使用getenv函数时不用担心会覆盖上次的调用结果。返回值: 执行成功则返回指向该内容的指针,找不到符合的环境变量名

2020-12-04 16:45:26 6519

原创 Qt设置回车焦点

ui.pushButton->setFocus(); //设置默认焦点ui.pushButton->setShortcut( QKeySequence::InsertParagraphSeparator ); //设置快捷键为键盘的“回车”键ui.pushButton->setShortcut(Qt::Key_Enter); //设置快捷键为enter键ui.pushButton->setShortcut(Qt::Key_Return); //设置快捷键为小键盘上的e

2020-11-25 09:40:42 1780

原创 C/C++ 去掉宏定义__FILE__路径

一.问题在日志模块中往往带着文件信息,有的源文件是加载其他路径下的源文件,但是不想让别人看到文件路径信息,只显示源文件的名字和行数即可。如下图所示,有烦人的相对路径。二.解决方案自定义一个宏去掉路径信息,只保留文件名字。#if (_WIN32||WIN64)#define MYFILE(x) strrchr(x,'\\')?strrchr(x,'\\')+1:x#else#define MYFILE(x) strrchr(x,'/')?strrchr(x,'/')+1:x#endifp

2020-10-28 11:13:34 3435 1

原创 C#iText7对PDF进行签章

前言本章主要说明C#如何使用iText扩展外部签名,对PDF进行签章,支持RSA和SM2电子签章。根据之前的文章《C# 使用iText7对PDF进行签章》我们需要重写IExternalSignatureContainer这个类。相关说明我建议参考iText7的源码说明。实现目标:RSA的签章需要让Adobe认可,并且能够验证签章。SM2的签章,需要Adobe认可,无需验证签章,验章可调用验章接口进行验章(Adobe不认SM2算法)。using DZQZ.CryptBase;using iTex

2020-07-14 20:10:58 2674 4

原创 C# 使用iText7对PDF进行签章

前言:想做一个专栏,关于电子签章的,涉及到PDF和OFD签章,由于文章过长,而且时间有限,有时间就写写,会把PDF和OFD签章相关的都讲到。本身我是想做一个C/C++的签章客户端,无奈C/C++并没有可用的开源库,只好用到C#的iText7库,这个比较新,网上的好多都是iText5的资料。由于iText7的网络资源少之又少,在寻找过程中找到这个大哥的文档,对我起到了很大的帮助,虽然是Java的,C#的也差不多(本人接触C#不多),但是语言都是想通的嘛。大佬原文地址:[https://blog.cs

2020-07-14 17:57:11 4529 1

原创 Qt子线程刷新主线程界面

问题:之前做了一个界面,16个线程会刷新主界面的控件,莫名其妙的就崩溃了,还是偶发性,也不知道啥原因,看Qt报的错误信息是“QWidget::repaint: Recursive repaint detected”查找原因:看了两个Stack Overflow的问答,https://stackoverflow.com/questions/31180660/qwidgetrepaint-recursive-repaint-detectedhttps://stackoverflow.com/q.

2020-07-06 13:20:30 10174 8

原创 Qt经典出错信息之undefined reference to `vtable for classname

原文链接:Qt经典出错信息之undefined reference to `vtable for classname这个出错信息太常见了,用过Qt两个月以上的朋友基本上都能自己解决了,因为太经典了,可以给新手参考。出错信息一般类似:undefined reference to vtable for classname MyWidget在执行make命令后出现。出错原因是在定义类的时候为了能使用signals和slot,在类定义的后面加了Q_OBJECT引起。 因为Q_OBJECT是一个宏,在不同的类

2020-07-06 11:04:43 671

原创 libxm2使用未定义的引用gzdopen lzma_code lzma_properties_decode lzma_end

./lib/libxml2.a(xzlib.o):在函数‘xz_decomp’中:/home/shenxuebing/桌面/xml/libxml2-2.9.9/xzlib.c:581:对‘lzma_code’未定义的引用./lib/libxml2.a(xzlib.o):在函数‘is_format_lzma’中:/home/shenxuebing/桌面/xml/libxml2-2.9.9/xzlib.c:312:对‘lzma_properties_decode’未定义的引用./lib/libxml2.

2020-06-20 10:25:28 1525 2

原创 greaterThan(QT_MAJOR_VERSION,4):QT+=widgets意思

greaterThan(QT_MAJOR_VERSION,4):QT+=widgets当程序中需要添加widgets模块,这行代码的意思是,如果QT主版本大于4(也就是说当前使用的是Qt5或者更高版本),则需要添加widgets模块。也可以直接用“QT+=widgets”,但这样可以保持与QT4的兼容性...

2020-06-10 13:21:44 5708 1

原创 纯C用栈实现倒序输出字符串

无聊看到CSDN有人问用C言语用栈实现倒序输出字符串。示例中用空格作为字符串的分隔符。#include <stdio.h>#include <stdlib.h>#define ERR_VALUE -1 //参数错误#define ERR_MEMORY -2//内存错误#define OK 0#define TRUE 1#define FALSE 0#define STRLEN 88typedef struct _MyStack{ char

2020-06-09 14:47:19 2247

原创 QT QLabel setText不生效

下边这句没生效,Windows移植到Linux也没生效,原因未知。ui->lable_info->setText("测试....");解决方案:ui->lable_info->setText("测试....");ui->lable_info->repaint(); //立即刷新亲测有效。

2020-06-05 09:34:52 10673 11

转载 使用git进行项目版本管理

为了更好地管理目前公司内的源码版本,让大家更好的协同工作,前阵子看了不少关于git版本管理的文章,总结除了一个相对简单的管理规范,并在实践一段时间后,进行了调整。最终版如下:为规范源代码版本管理,现将各分支表述如下:1.master分支 存放的应该是随时可供在生产环境中部署的代码 当开发活动告一段落,产生了一份新的可供部署的代码时,master分支上的代码会被更新。同时,每一次更新,都有对应的版本号标签(TAG)。 分支命名:master 该分支,由管理员负责维护,

2020-06-01 17:23:03 435

原创 tortoiseGit管理的文件没有绿色红色等图标

1. 按Win+R键打开运行对话框,输入 regedit.exe ,准备修改注册表; 2.找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer; 3. 新建一个“字符串值”名称为 “Max Cached Icons” 值是 “2000”; 4. 重启一下电脑(或者重启Windows资源管理器),图标就显示了...

2020-05-29 14:02:32 2769 2

转载 Git使用 Linux服务端 Windows客户端

初识GitGit是什么?  Git是目前世界上最先进的分布式版本控制系统。SVN与Git的最主要的区别?  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。  Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版

2020-05-29 13:57:21 689

原创 C# HTTPS请求“请求被中止: 未能创建 SSL/TLS 安全通道”

HttpWebRequest 请求https接口,一直提示未能创建 SSL/TLS 安全通道! 证书验证创建委托一直返回true 也不行。private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors){ return true;}我用的是**.NET Farmwork 4**,查了资料才知道

2020-05-28 09:26:58 4537

原创 Linux删除乱码文件夹

反正就是各种原因吧,导致Linux机器上有一些文件或者文件夹乱码,怎么都删不掉。方法:通过ls -i 指令获得文件的i节点号find ./ -inum 1449274 -print -exec rm {} -rf \;已经删掉了。...

2020-04-17 14:17:00 1099

原创 简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别

看到一篇文章比较好,转过来给大家分享一下,看完这篇文章你就啥都懂了。POSIX同步IO、异步IO、阻塞IO、非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下。POSIX(可移植操作系统接口)把同步IO操作定义为导致进程阻塞直到IO完成的操作,反之则是异步IO。按POSIX的描述似乎...

2020-03-22 17:54:54 266

原创 Java利用dom4j解析XML任意节点和属性

分享一个Java解析XML字符串的方法,利用了dom4j,递归。可解析任意节点及节点属性值。package test;import java.io.IOException;import java.io.StringWriter;import java.util.HashMap;import java.util.Iterator;import java.util.List;import...

2020-03-22 15:59:25 4051

原创 makefile示例

给大家分享我写的两个makefile,一个生成可执行程序的,一个生成库(动态库、静态库)的。注释都比较详细,不懂的可以来问小弟。一、生成执行程序示例#程序版本号VERSION = 1.0.0 BINNAME = appTARGET := $(BINNAME)#编译器CC = g++ #编译标志位 CFLAGS = -std=c++11 -c -w debug = no...

2020-03-22 15:27:41 250

原创 跟我一起写Makefile

支持原创,请移步陈浩大神博客:http://blog.csdn.net/haoel/article/details/2886这篇文章是对多篇博客的修改和整合,有意见可以私信我,谢谢!Make程序的命令行选项和参数Make命令参数的典型序列如下所示:make [-f makefile文件名][选项][宏定义][目标]这里用[]括起来的表示是可选的。命令行选项由破折号“...

2020-03-22 15:09:20 258

原创 Qt Windows应用程序申请管理员权限

方法一1.添加一个xml文件在Qt工程中添加manifest.xml<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdent...

2020-03-22 14:46:12 1507

原创 InnoSetup程序开机自启

方法一此方法不修改注册表,避免了杀毒软件提示,其实就是将快捷方式添加到“启动”文件夹。[Tasks]Name: "startupicon"; Description: "开机启动"; GroupDescription: "{cm:AdditionalIcons}"; OnlyBelowVersion: 0,6.1[Icons]Name: "{commonstartup}\{#MyAppN...

2020-03-21 22:56:18 3172 27

转载 值得推荐的C/C++框架和库

值得学习的C语言开源项目Libeventlibev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。下载链接:https://github.com/libevent/li...

2020-03-20 14:14:35 871

原创 C/C++如何避免使用goto

1.描述一般我们在写C/C++程序的时候秒不了处理错误、异常情况,而我一般都使用goto语句,但是偏偏有的人就不喜欢goto语句,当然goto语句也有弊端,那么如何避免使用goto语句呢?直接上代码,比如你有一个函数:int read(){ int ret=0; char *buf=NULL; char *szp=NULL; //比如还要大量的需要最后操作(释放等)变量 buf=...

2020-03-17 21:39:14 1575

原创 Linux生成静态库和动态库和导出指定函数及使用方法

一、Linux生成动态库两步生成动态库1.gcc -fPIC -c test.c 2.gcc -shared -o libtest.so test.o 一步生成动态库gcc -shared -fPCI -o libtest.so test.c二、Linux生成静态库1. 生成目标文件 gcc -c test.c2.生成静态库 ar -r libtest.a...

2020-03-15 21:32:28 4340

原创 Linux如何链接不是以"lib"开头名字的库

问题:在Linux下编译程序的时候免不了调用别人或者第三方开源的库,我们知道Linux在编译的时候链接动态库可以有两种方案:-l如-ldl,链接的就是libdl.so-L如-L /usr/lib64/libdl.so如果你用到的库不是以"lib"开头名字的库怎么办?如大数库miracl.a、testAPI.so这你怎么链接呢?解决方案:修改库的名字如把miracl....

2020-03-15 20:37:01 3619 1

原创 GCC 参数详解

gcc 与 g++ 分别是 gnu 的 c & c++ 编译器 gcc/g++ 在执行编译工作的时候,总共需要4步:1、预处理,生成 .i 的文件[预处理器cpp] 2、将预处理后的文件转换成汇编语言, 生成文件 .s [编译器egcs] 3、有汇编变为目标代码(机器代码)生成 .o 的文件[汇编器as] 4、连接目标代码, 生成可执行程序 [链接器ld] 参数详解-x la...

2020-03-15 20:08:04 1518

原创 Linux下交叉编译openssl

版本:openssl-1.1.01、openssl1.1.1b./config no-asm np-shared --prefix=/usr/local/armopenssl --cross-compile-prefix=arm-xilinx-linux-gnueabi-编辑Makefile,将Makefile文件中的-m32或者-m64去掉makemake install根据需要添加...

2020-03-13 14:24:43 518

原创 Linux下交叉编译libiconv库

版本:libiconv-1.15./configure --prefix=/usr/local/armlibiconv --host=arm-xilinx-linux-gnueabimakemake install其他选项根据需要自行正常写就可以了,亲测成功。

2020-03-13 14:14:09 1163

原创 Linux GDB调试程序常用命令

1. gdb -tui test打开调试程序,界面分页,上面是代码,下面是命令; 2. gdbtui的开关快捷键:ctrl+x ctrl+a或者ctrl+x A 3. file test在运行gdb下打开某个文件 4. run/r 运行 5. continue/c 继续运行 6. step/s 如果有函数则进...

2020-03-06 16:50:34 328

原创 Qt 操作N个同类组件

假如自己有100个QPushButton,那么一个一个操作者100个那不得累死了。如ui->pushButton1->setText("button");假如对这100个button的操作都差不多,那怎么才能省事省力省代码呢?方法创建一个数组QPushButton *pushButton_devs[16];for (int i=1;i<=16;i++) {...

2020-02-14 16:30:42 294 1

原创 Qt QLineEdit、QTextEdit、QPlainTextEdit区别

QLineEditQLineEdit是单行文本输入,一般用于用户名、密码等少量文本交互地方。QTextEditQTextEdit用于多行文本,也可以显示HTML格式文本。QTextEdit多用于显示QPlainTextEditQPlainTextEdit与QTextEdit很像,但它多用于需要与文本进行处理的地方,而QTextEdit多用于显示,可以说,QPlainTextE...

2020-02-14 16:20:57 4275

原创 Qt QWidget、QMainWindow、QDialog区别

QWidgetQWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。QMainWindowQMainWindow类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗...

2020-02-14 16:18:13 159

转载 Linux共享内存、信号量、队列信息管理

unix/linux下的共享内存、信号量、队列信息管理在unix/linux下,经常有因为共享内存、信号量,队列等共享信息没有干净地清楚而引起一些问题。查看共享信息的内存的命令是ipcs [-m|-s|-q]。默认会列出共享内存、信号量,队列信息,-m列出共享内存,-s列出共享信号量,-q列出共享队列清除命令是ipcrm [-m|-s|-q] id。-m 删除共享内存,-s删除共享信号量...

2020-02-14 15:50:53 162

原创 Qt Creator 修改默认构建目录

1.先打开Qt Creator选项->构建和运行绿色框就是默认的构建目录。其中:–…:上级目录,即工程文件夹同级的目录;–build:固定字符;–%{CurrentProject:Name}:工程名;–%{CurrentKit:FileSystemName}:当前构建套件名,取决于你Qt版本。如:Qt5.3.2 mingw版本生成;Desktop_Qt_5_3_2_MinGW;...

2020-02-14 14:59:11 630

小工具(字符集转换、编码转换、摘要、对称加解密)

字符集转换(GBK、UTF-8)、编码转换(二进制、十六进制字符串、BASE64字符串)、摘要(MD5、SHA128、SHA256、SM3)、对称加解密(IDEA、SM4)

2020-11-13

跟我一起写Makefile-陈皓.rar

什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。

2020-03-22

inno脚本实例.rar

innosetup脚本大全,包含各种功能代码,以后做安装包不会的就直接在这里查就够了。下到就是赚到。

2020-03-21

miracl64.a

在龙芯mips64架构下面使用大数库,需要重新编译,本人已经在龙芯中标麒麟7下测试使用。

2019-07-19

linuxdeployqt-6-x86_64.AppImage

linuxdeployqt,LinuxQT程序打包发布使用,能够自动匹配动态库。

2019-07-19

获取Windows信息及修改注册表

获取Windows系统信息,操作注册表,可以进行创建、修改、删除。

2019-06-05

获取Windows信息及修改注册表

可以获取Windows的版本信息,是否为网吧,修改注册表等功能。

2019-06-03

openssl1.1.1RSA、ECC、SM2身份认证Demo及文档

其中包含openssl1.1.1在win10下编译的方法,以及VSRSA、ECC、SM2身份认证demo源码,以及命令行生成证书的文档。目前openssl1.1.1和1.1.1a测试SM2会报错,原因可能和openssl支持不够有关。

2019-02-01

libevent-master.zip

libevent的源码,其中test包含了print-winsock-errors.c这个文件。

2018-09-04

LibIconv库

libiconv库支持N种编码转换,详细可去官网查看具体支持的编码。

2018-07-12

MFC编码转换小工具

其中用到了libiconv库,只有两个用到了,也是写着写着才发现的库,其他的大部分都是普通的代码,也用到了Windows的API转换编码函数。

2018-07-12

编码转换工具

大部分的编码转换工具,二进制,十六进制,BASE64,URL,UTF8,Unicode等....

2018-07-11

mysql导出文件

mysql数据库,简单的数据存储,可以自己建立这个数据库,要更改代码中的数据库名称和密码

2018-01-30

服务端代码Server

接收客户端传过来的数据,并且可以进行管理数据,简单的增删改查

2018-01-30

Client客户端

这个为客户端,可以选择加密和不加密,以及想要发送的长度。

2018-01-30

Chrome调用ocxDemo

这个Demo紧支持Chrome4.5以下版本。这个demo是npapi实现,以上版本请用ppapi实现。

2017-10-10

makeCAB工具

从打包cab到signcode数字签名都全了

2017-08-10

PackageForTheWeb401

PackageForTheWeb401

2017-08-10

ActiveX Control Test Container

ActiveX Control Test Container

2017-08-10

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

TA关注的人

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