自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (40)
  • 收藏
  • 关注

原创 一例MSVC2013中recursive_mutex引起崩溃的原因分析

复现方法:CUI程序,DLL中的全局对象在析构时调用recursive_mutex::lock()函数,运行时通过Ctrl+C触发。原因分析:DLL被释放时,会自动析构所有的全局对象。由于Ctrl+C的实现为系统创建一个远程线程调用dllmain并析构全局对象,而这个远程线程缺少一些必要的初始化过程,造成recursive_mutex::lock()函数崩溃。以下是分析时的

2015-07-25 11:17:21 1143

原创 OpenSSL裁剪编译

一、准备事项:1. http://www.curl.haxx.se/ 下载 cURL 源码,\projects\build-openssl.bat 即 OpenSSL 的编译批处理。2. http://www.openssl.org/ 下载 OpenSSL 源码。二、重要文件:1. \ms\do_ms.bat 生成 mak 文件的批处理。2. \ms\nt.mak 静态

2014-08-18 15:45:18 2819

原创 几种文本相似度算法的C++实现

1、最小编辑距离

2014-05-23 18:55:37 5538 3

原创 HTTP劫持与DNS穿透

客户端软件经常会采用HTTP协议与服务器进行通讯。大多数情况下,服务器会要求客户端使用域名而不是IP。这样就存在“HTTP劫持”的问题,恶意程序在本地或者路由重定向域名所指的IP,以达到欺骗客户端的目的。使用“DNS穿透”技术解决“HTTP劫持”:1、客户端通过访问OpenDNS服务器或者PrivateDNS服务器进行域名解析;2、用域名解析所得到的IP地址替换原始域名;3、在HT

2014-05-05 18:30:11 2085

原创 高性能并发队列(C++实现)

算法参考:http://www.parallellabs.com/2010/10/25/practical-concurrent-queue-algorithm/注意:析构

2014-04-30 17:45:50 6543

原创 CAB文件压缩解压封装类

Windows Cabinet APIfeng下载地址:

2014-04-22 18:46:45 975

原创 函数static变量的线程竞争问题

比如,单例模式一个简单实现:class CSingleton{public: static CSingleton* GetInstance() { static CSingleton *pInstance = new CSingleton(); return pInstance; } void PrintText() { std::cout << "Hello Wo

2014-01-18 11:37:01 696

原创 高精度定时器(Windows)

一个高精度定时器的C++实现。下载地址:http://download.csdn.net/detail/fdsdfdsf/6837703

2014-01-11 17:32:27 2937

原创 tr1::bind与tr1::function的用法与具体应用

关于tr1::bind及tr1::function的用法,请参考:http://blog.sina.com.cn/s/blog_5eb8ebcb0100tcty.html以下是实际工程中的代码,用于非窗口类(比如DirectUI库的页面类,这些类并不包含可以用来接收消息m_hWnd成员)创建一个隐藏窗口,并绑定成员方法到这个隐藏窗口的消息处理函数上。class CMessageWindow

2013-12-20 20:33:28 1330

原创 stringex - STL string 扩展库

std::string format(const char *fmt, ...) { va_list arg; va_start(arg, fmt); int len = _vscprintf_p(fmt, arg) + 1; std::auto_ptr<char> buf(new char[len]); _vsprintf_p(buf.get(), len, fmt, arg); va_end(arg); return buf.get(); } std::strin

2013-08-11 22:55:37 1332

原创 快速MD5计算

由Windows API实现的一个MD5计算函数,在Windows平台上比其他开源的MD5库快20%以上。下载地址:http://download.csdn.net/detail/fdsdfdsf/5771707

2013-07-17 18:11:32 1198

原创 Windows对话框程序的大小与DPI的关系

1、DPI:每英寸像素数。英寸是物理单位,像素是逻辑单位。2、Windows对话框程序有两种方式可以改变界面尺寸:(1)RC文件中定义对话框时设定的数值。单位是DLU,与对话框设定的字体大小成正比。(2)在WM_INITDIALOG消息中调用SetWindowPos函数。单位是像素。3、Windows字体单位是磅,1英寸等于72磅。当DPI改变时,字体大小会随之改变。因此,采用方式(1)定

2013-04-26 17:02:57 1050

原创 INI文件解析类

INI文件解析类,支持文件INI、内存INI,支持ANSI、UCS-2 Little Endian编码。1.0.0.4更新:(1)修改错误。(2)调整代码。欢迎留言讨论。下载地址:http://download.csdn.net/detail/fdsdfdsf/7103173

2013-04-03 11:42:59 953

原创 Windows程序的模块之间为什么不能使用STL容器作为参数

理论基础:1、Windows平台的C++ Runtime Library分为两种:Multi-threaded和Multi-threaded DLL。前者是静态库,会被链接到目标程序中;后者是动态链接库,目标程序运行时动态加载。2、Windows堆内存分为两类:默认堆和私有堆。其中默认堆在同一进程中可以跨模块访问,而私有堆只能在所属模块中进行访问。3、C++ Runtime Libra

2013-02-27 13:27:55 650

【周鸿祎自述:我的互联网方法论】完美epub版

在本书中,作者周鸿祎首次讲述了自己十几年来的互联网观、产品观和管理思想,厘清了互联网产品的本质特征和互联网时代的新趋势,列举了颠覆式创新在现实中的实践和应用。

2015-01-28

《程序员,你伤不起》 完美影印版 PDF

[原版PDF][完美影印版]程序员,你伤不起

2014-09-28

30天自制操作系统

30天自制操作系统 自己动手写操作系统 Orange'S:一个操作系统的实现

2014-09-28

Windows线程封装类(VC++)

Windows线程封装类,使用类似ATL的Thunk技术。

2014-07-07

stringex程序库

tringex包括格式化、替换、分割、转换等操作,扩展了STL中的string类,提供宽窄字符版本。

2014-04-22

CAB文件压缩/解压1.0.0.2

Windows系统CAB文件压缩/解压C++源码,VS2008编译通过。

2014-04-22

CAB文件压缩/解压C++源码

Windows系统CAB文件压缩/解压C++源码,VS2008编译通过。

2014-04-16

INI文件解析类1.0.0.4

C++版INI文件解析类,支持文件INI、内存INI,支持ANSI、UCS-2 Little Endian编码。

2014-03-26

常用的网络操作源代码(包括DNS、PING等)

Ping程序的C语言实现。代码很精简,易读。只有获取时间的函数使用了Windows API(为了实现高精度计时),其他都是跨平台代码。 注:VC编译请自行添加winsock2.h,以及ws2_32.lib。Linux下编译需要修改获取时间的函数。

2014-03-26

Ping程序C语言实现

Ping程序的C语言实现。代码很精简,易读。只有获取时间的函数使用了Windows API(为了实现高精度计时),其他都是跨平台代码。 注:VC编译请自行添加winsock2.h,以及ws2_32.lib。Linux下编译需要修改获取时间的函数。

2014-01-27

Windows高精度定时器(VC++实现)

Windows平台高精度定时器封装类,最高精度可达1ms。

2014-01-11

潘爱民在北大开的COM讲座的资料

潘爱民在北大开的COM讲座的资料,PDF

2014-01-02

Windows API CryptAPI函数库

CryptoAPI简介,CryptAPI函数库介绍,CryptoAPI编程

2014-01-01

Chrome源码剖析

Chrome源码剖析,pdf版,转自http://flyvenus.net/wordpress/?tag=chrome

2014-01-01

gh0st3.6源码VC6.0+SDK

gh0st3.6源码VC6.0+SDK,网络搜集的代码,可编译通过。

2013-12-31

INI文件解析类1.0.0.3

C++版INI文件解析类,支持文件INI、内存INI,支持ANSI、UCS-2 Little Endian编码。

2013-12-12

CompletePath(CMD自动完成路径)

模拟CMD自动完成路径的一份小代码

2013-12-02

快速MD5计算(C++)

一个快速MD5计算的函数,使用了Windows API,比网络上其他开源MD5计算速度块20%以上。

2013-07-17

INI文件解析类1.0.0.2

INI文件解析类,支持文件INI、内存INI,支持ANSI、UCS-2 Little Endian编码。

2013-06-27

Ini文件解析类

简单的Ini文件解析类,支持从文件或者内存读取Ini。

2013-04-03

哈夫曼编码压缩工具

一个MFC开发的哈夫曼压缩工具,有点小问题:编码最长16位,失败情况较多

2012-05-15

WTL入门教程

WTL入门教程,适合初学者阅读学习。

2012-05-15

OpenCV入门教程(代码)

OpenCV入门教程,适合初学者学习,有详细的代码示例

2012-05-14

Lua源码剖析

一篇详尽的Lua源码分析文档,适合初学者阅读

2012-04-25

des加密源代码实现

des加密源代码实现 控制台窗口 des加密源代码实现 控制台窗口

2011-04-04

TCP/IP协议-HTTP1.1协议

TCP/IP中的HTTP1.1协议 TCP/IP中的HTTP1.1协议 TCP/IP中的HTTP1.1协议

2011-04-02

文件传输协议的C语言实现

文件传输协议的C语言实现的毕业论文 文件传输协议的C语言实现的毕业论文 文件传输协议的C语言实现的毕业论文

2011-04-02

交通灯管理系统——JAVA

法国外包项目,网络搜集打包,JAVA设计的系统项目

2011-03-29

高质量C++编程指南

高质量C++编程指南.高质量C++编程指南. 高手必看

2010-09-17

OllyDBG入门教程

OllyDBG,OllyDBG,OllyDBG

2010-04-17

masm32 v10

实现window下的32位汇编,可以调用系统API函数等。

2010-03-14

USB设备固件程序设计.pdf

USB设备固件程序设计,论文影印版,给大家学习USB提供一个大纲。

2010-03-14

正则表达式30分钟入门教程

30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。

2010-03-12

数据结构与算法资料库(源代码)

介绍经典问题的经典算法,同时提供源代码(个别以伪码形式提供),以及经典问题的快速解法。

2010-03-10

C程序设计语言——中文版

本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。

2010-03-05

Windows环境下32位汇编语言程序设计

Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。本书从编写应用程序的角度,从Hello World!这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过60多个实例逐渐深入Win32汇编语言的方方面面。

2010-03-05

空空如也

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

TA关注的人

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