自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C++编程的专栏

C++交流群77278127

  • 博客(37)
  • 资源 (7)
  • 收藏
  • 关注

原创 电驴 emule 源码分析 (1)

关于emule 主要就是 连接 kad网络部分, 搜索部分,共享部分,下载部分,还有就是IRC聊天部分。IRC聊天部分应该不是大多数人想知道的重点,核心部分 还是kad网络的构造 和 下载部分 的实现。 我看了下 搜索部分,大致的过程是以下酱紫。 希望有更多 学习emule源码的人 一起交流共享。

2014-07-03 09:46:49 4449

原创 模仿MFC寻找消息响应函数指针的 核心 代码

typedef struct {UINT nMessage;UINT nCode;UINT nID;UINT nLastID;UINT nSig;int * p;}TEST;const TEST* AFXAPIMyAfxFindMessageEntry(const TEST* lpEntry,UINT nMsg, UINT nCode, UINT

2014-06-05 16:17:19 915

原创 ROUND_UP函数详解(STL内存分配的时候 内存对齐上调大小的函数)

在STL的源码中,或者是其他地方碰到内存对齐的时候 一般会有一个类似于round_up的函数。 一般是像这样子                  #define __ALIGN   8          //假设是按照8个字节对齐                  static size_t ROUND_UP(size_t  bytes)                   { 

2014-04-13 15:39:13 5597

原创 MFC整个框架的粗略概况

对于windows程序 ,无非是消息循环 和 窗口过程的消息处理。         无论是MFC 或者是WTL  ,都只是内部封装,搞清楚这个过程 对于掌握框架,甚至自己制作框架都有好处。   前段时间已经分析了一下WTL的, 关于MFC的框架,侯杰的 深入浅出MFC讲的比较细致。很到位,作为想把MFC彻底搞清楚的人 ,不应该去拒绝这本书。       MFC实现了自己的RTTI, 当

2014-02-27 12:27:08 1191

原创 比较成员被声明的顺序

在《深入探索C++对象模型》中,谈到声明的顺序时候说到, 声明变量的顺序和他们实际在内存的排列顺序是可以不一致的,但是大多数编译器实现都一致, 基本上是按照其声明的顺序而排列的。   并且给出下面这段代码 来比较任意两个成员的排列顺序。 书中的代码 在vs系列里面 编译不过,我改了一下 ,没有问题。 下面是实例代码#include class A{public: int a;

2014-02-26 12:56:12 908

原创 WTL的框架粗略概况

大道不过三两行,说穿不值一文钱。 WTL的源码比MFC的要简洁一些。 虽然UI封装的少,但是没有大碍,如果WTL用时间长了 你会觉得 比MFC更舒服,实际上MFC提供的文档视图结构 基本上 大部分人 都没用到,很多做界面开发的 更本不需要这个。

2014-01-30 00:04:33 1375

原创 STL的内存池的设计源码分析和体会

STL的内存池的设计源码分析和体会

2014-01-14 18:29:21 1293

原创 智能指针auto_ptr的简单实现

智能指针auto_ptr的简单实现

2014-01-12 14:41:41 1003

原创 用完成端口(iocp) 写的一个简单的服务端例子

下面是用完成端口写的一个简单的 例子, 完成端口和重叠io 一样都是异步io。代码如下。欢迎大家建议 改进、

2014-01-11 00:54:59 2469

原创 placement new 的用法 简单的例子

placement new 构造对象的话 可以显式的去析构

2014-01-10 19:08:20 1186

原创 以多态的方式处理数组 产生的问题 实例代码

以多态的方式处理数组

2014-01-10 14:58:46 820

原创 用win32 api的方式 实现按钮自绘

win32 api的方式 直接绘制按钮。

2014-01-08 20:47:07 4781

原创 各种排序算法的实现-11(基数排序算法)

这种算法可谓独树一帜,    基数排序算法的基本思路如下 比如有一组数, 009,003,239, 342,039,001,232。  我们只需要从各位  并且归类即可。  首先 数字 只可能出现 0,1,2,3,4,5,6,7,8,9.每个数的 每一位 只可能出现这10种情况, 那么就可以这样子做 首先取这些数的个位出来,  那么为1的有一个,为2的有两个,为3的有一个,为9

2013-12-30 14:06:19 867

原创 各种排序算法的实现-10(归并排序的实现)

归并排序实际上也是一种选择排序。 思路相对简单,就不详细的说了 下面是示例代码

2013-12-30 01:59:55 1306

原创 各种排序算法的实现-9(快速排序的实现)

这种排序算法 实际上也要依靠冒泡的手段。大致思路是这样子的, 比如有个序列, 1,4,7,-33,24,9,10,22,43,0.

2013-12-29 18:43:52 965

原创 各种排序算法的实现-8(选择排序的实现)

这种排序算法的实现很容易理解 就是从后面的序列中找一个最小的出来,不断的找啊 找最后整个堆找没了就完了思路很简单, 就好像你在人家教室外面喊 第一名出来,然后第一名出来 ,第二名出来 ,第二名出来, 如此下去 整个教室就空了, 选择排序一样,就是 第一次喊 最小的出来,然后 把最小的 给推出去, 不断的喊 喊道整个序列都没了 也就有序了 下面是具体的算法的实现的例子 大家可以看看

2013-12-29 02:38:29 996

原创 各种排序算法的实现-7(冒泡排序的实现)

这种排序算法 在各种C语言教材当中 几乎是介绍的第一种 算法。

2013-12-29 02:01:01 1518

原创 各种排序算法的实现-6(希尔排序的实现)

希尔排序的实现同样也是一种插入排序,只是它比直接插入排序更加牛逼一点。

2013-12-29 01:52:41 1776

原创 各种排序算法的实现-5(表插入排序-2)

表插入排序 最后还要整理一下 按照由小到大的顺序去排列。 下面是算法的实现代码:

2013-12-29 01:10:29 1210

原创 各种排序算法的实现-4(表插入排序-1)

现在介绍一下表插入排序。 这种排序算法和直接插入排序很像,每一个节点都存在一个 next域 来指示 这个节点的下一个节点, 和链表有点像,   在插入的过程当中就保证当前已经根据他们的next指向的位置 而链成了一个有序的列表,然后第二步  再帮这个表按照顺序整理为一个 新的 按照大小顺序 而排列的表。    首先演示一下插入的过程, 下面是具体的实验代码:  #define SI

2013-12-29 00:13:08 1220

原创 各种排序算法的实现-3(2路插入排序)

这种排序在 折半插入排序的基础上更进一步, 比较次数更少了,先利用一个辅助空间,相同的就可以了。首先看一下折半查找算法, 折半查找可以用递归来写 也可以用 循环。     templateint serach(T *p, int len, T key){ T low, high; high = len; low = 0; while (low <= high) { int

2013-12-24 16:16:08 1007

原创 各种排序算法的实现-2(折半插入排序)

排序算法

2013-12-23 01:59:17 1530

原创 各种排序算法的实现-1(直接插入排序)

很多排序算法 可能你当时看完还记得,但是时间长了就会忘记, 我现在在这里 记录一下 ,供大家共同讨论。       首先介绍最直接 最简单的 ,直接插入排序算法:             这种算法思想比较简单,就是从第二元素开始,依次往后挪动, 每一个元素与前面的元素逐个比较,一旦找到了比自己大的元素 或者相等的元素,那么ok  直接插进去。 如此循环 直到列表遍历完毕。

2013-12-22 22:01:33 1370

原创 一个重叠io的例子 实现一个简单的服务器

#include #define STRICT#define _WIN32_WINNT 0x0500 // Windows 2000 or later#define WIN32_LEAN_AND_MEAN#include #include #pragma comment(lib,"Ws2_32.lib")#pragma comment(lib,"Mswsock.lib")#define BUFFE

2013-08-04 01:01:31 1206

原创 线程池实现处理多个连接

#include #include // initsock.h 文件#pragma comment(lib, "WS2_32") // 链接到WS2_32.libclass CInitSock{public:CInitSock(BYTE minorVer = 2, BYTE majorVer = 2){ // 初始化WS2_32.dllWSADATA

2013-07-30 16:05:26 1375

原创 WSAEventSelect模型

#include #include // initsock.h 文件#pragma comment(lib, "WS2_32") // 链接到WS2_32.libclass CInitSock{public:CInitSock(BYTE minorVer = 2, BYTE majorVer = 2){ // 初始化WS2_32.dllWSADATA

2013-07-25 22:34:45 1164

原创 String类的基本实现。

#include #include  using namespace std;class String{ public:  String(const char *str = NULL); // 通用构造函数 String(const String &another); // 拷贝构造函数 String & operator=(const String &rhs)

2013-06-23 23:34:58 1115

原创 整理过后的电驴emlue的源码,直接用vs2010编译可运行,不需要配置环境

下载链接:http://www.527book.com/emule0.50a-Xtreme8.1-sources.zip也可以加入群 C/C++/TCP/UDP/linux/MFC/WTL   群号:77278127.群共享有。下载下来后 直接打开 下载下来后 打开srchybrid文件夹  下的 emule_vc9.sln 。可以直接编译通过。

2013-06-08 15:48:31 1446

原创 VC问与答

1、在VC的MFC程序中能否使用cout输出?答:不能。必须使用CDC来进行输出。2、C++中子类的构造函数是否会自动调用基类构造函数?答:会。如果在子类的构造函数中不显式指定调用基类构造函数,则将自动调用基类缺省构造函数,所以基类一定要有缺省构造函数。如果子类的构造函数除了调用基类构造函数以外什么都不做,不能不写,必须写一个空函数。3、子类对象的初始化过程

2013-06-08 11:48:04 1000

原创 c socket(转载)

socket目 录socket    1.socket()    2.bind()    3.connect()    4.listen()    5.accept()    6.send() 和recv()    7.sendto() 和recvfrom()    8.close() 和shutd

2013-06-08 11:46:56 887

转载 C 实现黑客帝国数字雨

黑客帝国大家应该都看过吧 ! 其实也没有什么吸引我的 出了里面的数字雨 很漂亮也很经典      一直深深的吸引着我 !  下面 我们用  VC 来实现  #include  #define ID_TIMER    1 #define STRMAXLEN  25 //一个显示列的最大长度 #define STRMINLEN  8  //一

2013-06-08 11:45:35 5271 3

转载 世界编程大赛第一名写的程序C 实现黑客帝国数字雨

以下是代码片段:e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1 e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20 e134 0 3d 0 1 74 1a 7f 3 aa eb

2013-06-08 11:36:53 10977 4

原创 再玩KMP算法

废话少说,我把代码弄上去,以免以后忘记了,算是做个纪念吧。#include #include using namespace std;void  GetNext(char  str[],int Next[]);void GetNextval(char  str[],int Nextval[]);int  KMP(string T,string str,int *Next

2013-06-08 11:34:18 818

转载 VC实现局域网组播 C++交流群QQ群:77278127 非一年以上经验勿入。

在局域网中,管理员常常需要将某条信息发送给一组用户。如果使用一对一的发送方法,虽然是可行的,但是过于麻烦,也常会出现漏发、错发。为了更有效的解决这种组通信问题,出现了一种多播技术(也常称为组播通信),它是基于IP层的通信技术。为了帮助读者理解,下面将简要的介绍一下多播的概念。众所周知,普通IP通信是在一个发送者和一个接收者之间进行的,我们常把它称为点对点的通信,但对于有些应用,这种点对点的通信

2013-06-08 11:24:50 1864 1

转载 TCP的拥塞避免算法

为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)”、“快速恢复(Fast Recovery)”算法,再后来在TCP NewReno中又

2013-06-08 11:23:14 1492

原创 MFC的消息响应函数

typedef struct {UINT nMessage;UINT nCode;UINT nID;UINT nLastID;UINT nSig;int * p;}TEST;const TEST* AFXAPIMyAfxFindMessageEntry(const TEST* lpEntry,UINT nMsg, UINT nCode, UINT nID){ASSERT(...

2018-08-28 16:48:48 2965

原创 如何让移动端的 前端 div 支持拖拽,多点触控pinch,放大,缩小,双击?

有个网站 公布了 10种支持 各种手势  的  前端的js库,包括 旋转,快速拖动等,其中有Hammer.js quojs.我在使用hammer的过程中遇到一点问题。最后还是用了quojs来做的放大和缩小,quojs在谷歌上找到的 是coffeescript写出来的, 弄起来很麻烦, 我最后找了个用quojs的网站, 直接用了它的js, 但是我双击放大用的另一个js库。放到和缩小div 主要是

2017-11-25 14:04:46 4588 1

libgcc.rar

ffmpeg在mysys编译后 如果缺少这两个文件 可以下载。包含 libgcc_s_sjlj-1.dll 和 libiconv-2.dll.

2019-09-05

ffmpeg-2.6.1-vs2010.rar

windows下 ffmpeg2.6.1 vs2010编译出来的库 包含头文件,和库文件一整套。 如果缺少 libgcc_s_sjlj-1.dll 和 libiconv-2.dll。网上可以找到。复制当bin目录即可,下载地址https://download.csdn.net/download/billiejeannotmylover/11674945

2019-09-05

服务器的源码

服务器端的源码 欢迎下载 欢迎下载 。

2014-03-13

Boost程序库完全开发指南

Boost程序库完全开发指南 boost C++程序库

2014-01-18

win32 api的方式 直接绘制按钮。(不是MFC)

win32 api的方式 直接绘制按钮。

2014-01-08

支持很多功能 很好局域网聊天

局域网聊天室的创建 支持很多人聊天 采用多线程技术

2011-03-24

空空如也

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

TA关注的人

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