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

原创 小工具(字符集转换、编码转换、摘要、对称加解密)
刚闲下来两天,做个工具吧,一直都想把之前的完善掉,后来想想之前做的确实有点烂,毕竟工作又这么久了,自己攒的代码也是比较多了,有一些经常要用,索性做了一个可视化的工具,方便他人使用。不好看,只是实用的工具,本来想优化下按钮和界面,毕竟是个工具,实用就好啦~!!!支持Windows XP以上任意系统下载地址:https://download.youkuaiyun.com/download/xuebing19...
2019-12-17 15:17:15
1193
7

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

原创 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
39870
6
原创 Linux依赖库查找顺序
1.目录说明:/lib根目录下的所程序的共享库目录。此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻,点类似于Windows上面的system32目录。理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。类似的目录还/usr/lib,/usr/local/lib等等。/usr/lib目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。这个目录功能类似/lib目录,理说,这里存放的文件应该是/b
2021-03-31 18:04:16
1399
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
3169
2
原创 C/C++ 获取环境变量的值
函数名: getenv功 能: 从环境中取字符串,获取环境变量的值头文件: stdlib.h用 法: char *getenv(char *envvar);getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为envvar=value。getenv函数的返回值存储在一个全局二维数组里,当你再次使用getenv函数时不用担心会覆盖上次的调用结果。返回值: 执行成功则返回指向该内容的指针,找不到符合的环境变量名
2020-12-04 16:45:26
7269
原创 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
1991
原创 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
3936
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
3628
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
4866
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
11624
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
846
原创 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
1796
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
6798
2
原创 纯C用栈实现倒序输出字符串
无聊看到优快云有人问用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
2571
原创 QT QLabel setText不生效
下边这句没生效,Windows移植到Linux也没生效,原因未知。ui->lable_info->setText("测试....");解决方案:ui->lable_info->setText("测试....");ui->lable_info->repaint(); //立即刷新亲测有效。
2020-06-05 09:34:52
11857
11
转载 使用git进行项目版本管理
为了更好地管理目前公司内的源码版本,让大家更好的协同工作,前阵子看了不少关于git版本管理的文章,总结除了一个相对简单的管理规范,并在实践一段时间后,进行了调整。最终版如下:为规范源代码版本管理,现将各分支表述如下:1.master分支 存放的应该是随时可供在生产环境中部署的代码 当开发活动告一段落,产生了一份新的可供部署的代码时,master分支上的代码会被更新。同时,每一次更新,都有对应的版本号标签(TAG)。 分支命名:master 该分支,由管理员负责维护,
2020-06-01 17:23:03
495
原创 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
3245
2
转载 Git使用 Linux服务端 Windows客户端
初识GitGit是什么? Git是目前世界上最先进的分布式版本控制系统。SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版
2020-05-29 13:57:21
767
原创 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
5397
原创 Linux删除乱码文件夹
反正就是各种原因吧,导致Linux机器上有一些文件或者文件夹乱码,怎么都删不掉。方法:通过ls -i 指令获得文件的i节点号find ./ -inum 1449274 -print -exec rm {} -rf \;已经删掉了。...
2020-04-17 14:17:00
1160
原创 简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别
看到一篇文章比较好,转过来给大家分享一下,看完这篇文章你就啥都懂了。POSIX同步IO、异步IO、阻塞IO、非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下。POSIX(可移植操作系统接口)把同步IO操作定义为导致进程阻塞直到IO完成的操作,反之则是异步IO。按POSIX的描述似乎...
2020-03-22 17:54:54
311
原创 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
4129
原创 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
293
原创 跟我一起写Makefile
支持原创,请移步陈浩大神博客:http://blog.youkuaiyun.com/haoel/article/details/2886这篇文章是对多篇博客的修改和整合,有意见可以私信我,谢谢!Make程序的命令行选项和参数Make命令参数的典型序列如下所示:make [-f makefile文件名][选项][宏定义][目标]这里用[]括起来的表示是可选的。命令行选项由破折号“...
2020-03-22 15:09:20
393
原创 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
1852
原创 InnoSetup程序开机自启
方法一此方法不修改注册表,避免了杀毒软件提示,其实就是将快捷方式添加到“启动”文件夹。[Tasks]Name: "startupicon"; Description: "开机启动"; GroupDescription: "{cm:AdditionalIcons}"; OnlyBelowVersion: 0,6.1[Icons]Name: "{commonstartup}\{#MyAppN...
2020-03-21 22:56:18
3601
27
转载 值得推荐的C/C++框架和库
值得学习的C语言开源项目Libeventlibev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。下载链接:https://github.com/libevent/li...
2020-03-20 14:14:35
955
原创 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
1775
原创 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
5365
原创 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
4108
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
1726
原创 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
580
原创 Linux下交叉编译libiconv库
版本:libiconv-1.15./configure --prefix=/usr/local/armlibiconv --host=arm-xilinx-linux-gnueabimakemake install其他选项根据需要自行正常写就可以了,亲测成功。
2020-03-13 14:14:09
1263
原创 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
452
原创 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
359
1
原创 Qt QLineEdit、QTextEdit、QPlainTextEdit区别
QLineEditQLineEdit是单行文本输入,一般用于用户名、密码等少量文本交互地方。QTextEditQTextEdit用于多行文本,也可以显示HTML格式文本。QTextEdit多用于显示QPlainTextEditQPlainTextEdit与QTextEdit很像,但它多用于需要与文本进行处理的地方,而QTextEdit多用于显示,可以说,QPlainTextE...
2020-02-14 16:20:57
4495
原创 Qt QWidget、QMainWindow、QDialog区别
QWidgetQWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。QMainWindowQMainWindow类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗...
2020-02-14 16:18:13
185
转载 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
196
原创 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
790
小工具(字符集转换、编码转换、摘要、对称加解密)
2020-11-13
跟我一起写Makefile-陈皓.rar
2020-03-22
openssl1.1.1RSA、ECC、SM2身份认证Demo及文档
2019-02-01
MFC POST 请求数据中文乱码
2017-12-01
如何用c/c++调用Active控件
2017-09-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人