自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 资源 (19)
  • 收藏
  • 关注

转载 ATL及COM线程的学习

COM组件、ATL及COM组件-线程模型(套间)

2024-03-21 14:00:40 26

转载 通过注册表以及文件操作的方式获取当前正在实际使用的物理网卡MAC地址

获取MAC地址

2024-03-18 14:04:27 34

转载 GBK 编码表

GBK 编码表

2024-01-10 10:26:12 240

原创 CString 与 CComVariant 互相转换

CString -> CComVariantCString strVar = _T("hello");VARIANT varValue;varValue.vt=VT_BSTR;varValue.bstrVal=(_bstr_t)strVar;CComVariant -> CStringCComVariant varResult;CString strResult;varResult.ChangeType( VT_BSTR );strResult = varResult.bstrVal;

2023-08-15 18:31:42 152

原创 收集一些Qt学习网站

Qt 官网https://www.qt.io 了解Qt最新资讯开发动态的窗口。Qt 资源下载http://download.qt.io 最新Qt安装程序可以在这里找到。Qt 博客者聚集地http://planet.qt.io 很多Qt大神都在里面。Qt 百科https://wiki.qt.io 这里Qt社区收集了多年来关于Qt的信息。Qt 文档https://doc.qt.io 在线版的帮助文档。Qt 论坛https://forum.qt.io 从桌面和移动到云..

2022-02-17 14:49:46 1986

转载 MFC应用程序中处理消息的顺序以及对话框关闭步骤

应用程序处理消息的过程:1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数4.OnWndMsg() 该函数的...

2021-03-22 15:39:17 1186

转载 Linux下指定so动态库的加载路径

一、库文件的搜索路径:1、在配置文件/etc/ld.so.conf中指定动态库搜索路径(需要添加其它库文件的路径,在文件的最后添加具体的路径即可 [ 如:/usr/local/lib ],添加后保存退出,然后在命令行ldconfig2、通过环境变量LD_LIBRARY_PATH指定动态库搜索路径(当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号":"分隔)3、在编译目标代码时指...

2019-07-01 16:43:20 2441

转载 注册/反注册窗体类RegisterClassEx/UnregisterClass

所有窗体在创建前都必须注册窗体类,只有注册的窗体类才被系统认知并允许实例化,换句话说通过注册告诉进程窗体管理器此类窗体的属性如: 背景色,窗体上的鼠标样式以及窗体事件处理函数等; 有一些控件类系统自带了的可以不用注册即可实例化,在不需要时反注册掉,以便释放类占用的内存。(一) 函数声明 I). 类注册ATOM RegisterClassEx(CONST WNDCLA...

2019-04-18 17:59:38 2104

转载 TLS密码套件TLS_ECDHE含义

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 解构如下: ECDHE_RSA:密钥协商交换算法 ECDHE:使用基于椭圆曲线签密方案(EC, Elliptic Curve)的 Diffie-Hellman(DH)密钥协商协议。尾部的 E 为 Ephemeral 首字母,表示协商的是临时会话密钥。相对每次会话协商的临时密钥,证书中的公钥则是永久...

2019-04-08 14:57:15 6844

转载 Linux下的tar压缩解压缩命令详解

tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必...

2019-03-15 17:35:23 189

转载 Linux 共享库LIBRARY_PATH, LD_LIBRARY_PATH 与ld.so.conf

1.Linux 共享库:LD_LIBRARY_PATH 与ld.so.confLinux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。(该路径在默认路径之前查找)  移植程序时的经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,这时可以将这些目录设置到LD_LIBRARY_PATH中。  当执行函数动态链接.so时,...

2019-03-05 11:15:02 299

转载 linux下永久设置LD_LIBRARY_PATH

LD_LIBRARY_PATH环境变量主要是用于指定动态链接器(ld)查找ELF可执行文件运行时所依赖的动态库(so)的路径,其内容是以冒号分隔的路径列表。 ld链接器将优先在该变量设置的路径中查找,若未找到则在标准库路径/lib和/usr/lib中继续搜索。 临时设置LD_LIBRARY_PATH环境变量的最佳方式是: 在执行你的程序前,先...

2019-03-05 11:14:03 5689

转载 Linux多线程的使用一:互斥锁

Linux多线程的使用一:互斥锁  多线程经常会在Linux的开发中用到,我想把平时的使用和思考记录下来,一是给自己做个备忘,二是分享给可能会用到的人。  POSIX标准下互斥锁是pthread_mutex_t,与之相关的函数有:1 int pthread_mutex_init(pthread_mutex_t * mutex , pthread_mutexattr_t * attr)...

2018-11-23 14:15:09 267

转载 MFC中对话框资源的复制

在工程中导入已建好的对话框,方法有三:法一:1、首先要生成一个*.ogx的文件。   方法:打开包含有所要加的对话框资源的工程(别的工程)。         在视图资源(ClassView)中鼠标右键点击所需的对话框的类(也可以是所需的类)         这时,你会看到右键菜单中有个“Add to Gallery”的选项。         选择这个选项,则*.ogx文件生...

2018-10-07 14:33:17 1423

转载 HMAC 原理

定义HMAC需要一个加密用散列函数(表示为H,可以是MD5或者SHA-1)和一个密钥K。我们用B来表示数据块的字节数。(以上所提到的散列函数的分割数据块字长B=64),用L来表示散列函数的输出数据字节数(MD5中L=16,SHA-1中L=20)。鉴别密钥的长度可以是小于等于数据块字长的任何正整数值。应用程序中使用的密钥长度若是比B大,则首先用使用散列函数H作用于它,然后用H输出的L长度字符串作为在...

2018-06-07 14:21:37 6877 1

转载 SQLITE3 使用总结

前序:这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽量不使用任何 windows 的东西,只使用标准 C 或标准C++。但是,我没有尝试过在别的系统、别的编译器下编译,因此下面的叙述如果不正确,则留待以后修改。下面我的代码仍然用 VC 编写,因为我觉得VC是一个很不错的IDE,可

2018-01-03 11:59:48 910

转载 TCP协议

1、TCP协议:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、 基于IP的传输层协议。TCP在IP报文的协议号是6。首先来看看OSI的七层模型:图1 OSI七层模型TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP 在第二层——Data L

2017-10-27 10:24:19 1283

转载 ActiveX控件实现安全的初始化和脚本

要想创建一个能够在IE中成功加载而没有“不安全”的警告或者错误提示信息的ActiveX控件,我们必须实现安全的初始化和脚本。基本上,所有要做的工作都是在DllRegisterServer 和DllUnregisterServer这两个函数中完成的。下面,我们就来一步步地将我们的ActiveX控件变成一个“安全的”控件。       1. 编辑XXX(此处为控件的工程名).cpp并添加如下的

2017-08-22 10:12:06 722

转载 ActiveX控件属性:自定义属性的使用

在很多场合下会存在这样的需求,那就是使用方在实际使用控件之前就想控件已经做了相应的处理比如加载的控件版本不正确等,或者需要在加载时才确定能够使用的功能集;这个时候传统的配置文件已经无法满足这种类型的需求了,往往的做法是在初始化控件的时候即做了相应的初始化,然后对自身的功能做了限制或者给使用方反馈,所以常常看到的是html标签中出现这样的写法:[html] view plai

2017-08-22 10:06:23 1812

原创 将PKCS12文件转成JKS

试了好几种方法都不行,使用下面的方法可以导入,在此记录一下。先将pkcs12解析出证书和私钥,注意私钥必须加密,可以使用rsa命令加密。将加密的私钥和证书组合在一起,格式如test.pem.通过portecle导入test.pem,主要导入时必须先导入证书链,否则无法导入。相关openssl命令 1、解析私钥pkcs12 -in mycert.pfx

2017-08-02 11:04:50 2193

转载 解决透明static控件后刷新问题

我相信很多VC程序员,都用过OnCtlColor来改变控件的底色,字体颜色等。但是static控件改变之后,就会照成控件不刷新的问题。HBRUSH CStadus::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)   {        HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, n

2017-07-17 10:34:59 1189

转载 字符集之间转换(UTF-8,UNICODE,Gb2312)

特搜集了UTF-8,UNICODE,Gb2312他们3个之间的相互转换.UTF-8:   3字节一个字符UNICODE: 2字节一个字符GB2312:  1字节一个字符例子:“你”字的UTF-8编码: E4 BD A0        11100100 10111101 10100000“你”的Unicode编码: 4F 60            0100111

2017-06-20 16:54:43 462

转载 Ansi,UTF8,Unicode编码

最近在写网络数据传输的程序,被各种编码搞的一塌糊涂,在这里简单记录如下:1. ASCII和Ansi编码字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 a.单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码. b.双字节内码 -- Double-Byte

2017-06-20 16:50:28 435

转载 C++中使用JsonCpp

之前项目中我们客户端程序一直是使用XML与服务器通信,最近新增一些接口转向使用更简单的Json。我们都知道由于Json语法是 JavaScript 对象表示语法的子集。所以在Java,JavaScript等语言中使用起来是十分愉快的。在C++中我们使用跨平台的开源库JsonCpp也能愉快的玩耍Json。下载地址GitHub:https://github.com/open-sourc

2017-06-14 17:15:29 788

转载 二维码的生成细节和原理

二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。关于QR Code Specification,可参

2017-05-27 14:28:45 515

转载 在VS2008环境下的C++异常处理

在写DAServer的过程中,一直在重视报文逻辑处理,却没有认认真真地去思考异常处理的问题。曾经我发现我在所有的报文处理函数中均没有考虑报文长度的问题,让我内心不由地捏了一把冷汗。我在新增的故障录波及故障报告的目录报文中引入了报文长度检查,但是其他的类型报文我还是没有克服懒惰情绪,报文类型实在是太多了……  我想,既然没有检查报文长度,那就把C++可能的异常Catch住就行了,等出了问题再

2017-05-10 14:56:50 2028

转载 正则表达式-连续多位相同字符判断的正则表达式

1. ([0-9])\1{5} 或 ([\d])\1{5} 连续相同的6位数字 如:333333([0-9a-zA-Z])\1{5}   连续相同的6位数字或字母 如:222222 cccccc ZZZZZZ([\d])\1{2}([a-z])\2{2} 连续相同3位数字后根连续相同的三位小写字母 如:222www([\d])\1{2}([a-z])\2{2}|([a-z])\3{2}

2017-05-10 14:03:22 34112 1

转载 windows 下boost 64 位和32位库的编译编译

理论上,本文适用于boost的各个版本,尤其是最新版本1.48.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,VS2010,V2012,gcc,arm-linux-gcc,C++ Builder等。先总结一下Windows系统。一、下载首先从boost官方主页http://www.boost.org/下载最新版boo

2017-04-24 14:48:09 2375

转载 VS2008编译boost正则表达式库Regex过程中的注意事项

目前,boost最新版本是:boost_1_63_0boost官网:http://www.boost.org/boost1.48.0源代码官方下载页面:http://sourceforge.net/projects/boost/files/boost/1.48.0/boost的使用参考: http://www.stlchina.org/twiki/bin/view.pl/Main/Bo

2017-04-24 14:40:04 920

转载 Boost库编译后命名方式

Boost库编译后命名方式from http://www.cnblogs.com/dementia/archive/2009/04/10/1433217.htmlBoost官网的《Geting Started On Windows》(http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html)提到了B

2017-04-12 16:35:14 1159

转载 常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数

2017-04-12 14:18:53 421

转载 源码方式向openssl中添加新算法完整详细步骤(示例:摘要算法SM3)【非engine方式】

openssl简介openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。

2016-11-08 14:47:02 5312

转载 STL容器迭代过程中删除元素技巧(转)

1.连续内存序列容器(vector,string,deque)序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安全删除元素。vector c;for(vector::iterator it = c.begin(); it != c.end();){if(need_delete())  it = c.erase(it); e

2016-09-05 11:25:02 539

转载 堆栈的工作原理

目录(?)[+]从一些基本的知识和概念开始开始讨论堆栈是如何工作的堆栈的建立    参数入栈 图2   返回地址入栈图3    代码跳转到被调用函数执行   EBP指针入栈    为局部变量分配地址图6通用寄存器入栈返回值是如何传递的堆栈帧的销毁函数的调用约定calling convention反编译代码的跟踪不熟悉汇编可跳过参考

2016-08-10 17:01:28 1114

原创 NSIS 安装包确保只能有一个安装实例运行

在.onInit里面添加如下代码:# 禁止多个安装程序实例 Begin System::Call 'kernel32::CreateMutexA(i 0, i 0, t "mysetup") i .r1 ?e'  #注意最后的?e Pop $R0 #保存LastError返回值  ;System::Call 'kernel32::CloseHandle(i r1) i.s'  #此

2016-08-10 14:05:02 1486

转载 协作安装程序应用一例co-installer

所谓“协作安装程序”,在ddk文档里面称作co-installer,有人将它翻译成“共同安装程序”。但是, 从ddk文档对co-installer功能的描述来看,我个人觉得翻译成“协作安装程序”更恰当些。 ddk文档对co-installer的描述:A co-installer is a Microsoft® Win32® DLL that assists in devic

2016-07-20 12:57:55 1401

转载 USB设备开发---- usb描述符概述

说到USB设备,不得不提到各种描述符(descriptors), 一般来说,描述符有如下几种:    1:设备描述符(Device Descriptors)    2:配置描述符(Configuration Descriptors)    2:接口描述符(Interface Descriptors)    3:端点描述符(Endpoint Descriptors

2016-03-31 17:42:28 2247

转载 在Linux中静态库.a和动态库.so 的创建和使用

我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。 1. 静态函数库     这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数

2016-03-16 11:50:49 3859

转载 微软符号服务器下载符号总结

微软符号服务器地址http://msdl.microsoft.com/download/symbols, 但是你手动在浏览器里面输入是访问不到的,他只提供给调试程序进行下载1、方法1:  使用vs进行下载,当然必须是vs2003以后的版本,通过attach到一个进程中或者启动一个程序进行调试,然后打开模块列表窗口,在列表中每一个模块进行右键,即可进行下载符号方法2: 使用windb

2015-12-16 13:28:28 8746

转载 CryptoAPI简介(二)

CryptoAPI函数使用“加密服务提供者”(CSP)完成数据加密、解密以及密钥的存储管理、所有的CSP都是相互独立的模块。理论上,CSP应该独立于特定的应用程序,也就是说所有的应用程序可以使用任何一个CSP。但是,实际上有些应用程序只能与特定的CSP协作。CSP与应用程序之间的关系类似于Windows GDI模型。CSP就类似于图形硬件驱动程序。密钥存储的安全性完全取决于CSP的

2015-11-30 14:53:59 3677

SM2算法小工具(专业人士)

SM2算法小工具,支持密钥对生成、加解密、签名验签、密钥交换、SM3算法等功能。

2024-03-21

GD32F30xFFPRGU6和GD32F10x编程资料

GD32F30xFFPRGU6和GD32F10x编程资料

2024-03-18

zip_utils_src.rar

zip.h/cpp,unzip.h/cpp zip压缩和解压源码,支持中文名称

2021-04-06

SM2密钥生成、加解密、签名验签、密钥交换

工具功能:SM2密钥生成、SM2加密解密、SM2签名验签、SM2密钥交换

2018-11-01

SM2证书生成工具

证书生成工具(支持SM2证书、RSA1024、RSA2048,仅供测试)

2014-06-25

系统集成项目管理工程师资料

系统集成项目管理工程师资料,历年真题,看会了考试必过。

2013-09-26

libusb-win32-src-1.2.6.0

libusb win32 src 1.2.6.0

2013-08-06

vc6.0编写需要管理员权限运行的程序

vc6.0编写需要管理员权限运行的程序 添加资源文件

2012-09-29

win7无法打开查看.hlp帮助文件解决办法

在计算机上运行 Windows Vista、 Windows 7、 Windows Server 2008 中或 Windows Server 2008 R2,您可能无法打开帮助文件 (.hlp) 需要 Windows 帮助 (WinHlp32.exe) 计划的。 Microsoft 已停止包括 32 位帮助文件查看器在开始与 Windows Vista 和 Windows Server 2008 的 Windows 版本中。若要支持客户仍依赖于传统的.hlp 文件,Microsoft 下载中心提供 WinHlp32.exe 下载 Windows Vista、 Windows 7、 Windo

2012-08-29

SM3计算工具

本工具可以计算文件、数据、十六进制数据的SM3值。

2012-07-01

设计模式[c++]

设计模式介绍、c++代码示例、简单易懂,适合初学者

2012-02-06

CAB制作工具包

CAB制作工具包:包括CABARC.EXE、MAKECAB.EXE等

2011-12-26

VC6.0 GDIPlus开发包

VC6.0 GDI开发包,支持PNG格式图片。

2011-08-17

ACE Programmer's Guide, The Practical Design Patterns for Network and Systems Programming.chm

ACE程序员指南:网络与系统编程的实用设计模式

2010-09-03

socket

socket通信

2008-03-11

ReadConfigFile

读取,配置 xxx.ini 文件

2008-03-06

链表

链表删除所有节点到最后时异常

2008-01-22

关于链表

关于指针链表

2008-01-16

关于链表 指针

为什么指针指向同一地址 

2008-01-14

空空如也

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

TA关注的人

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