win32
文章平均质量分 64
ACE777999
热衷于网络编程
展开
-
线程池实现处理多个连接
#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 · 1410 阅读 · 0 评论 -
用win32 api的方式 实现按钮自绘
win32 api的方式 直接绘制按钮。原创 2014-01-08 20:47:07 · 4962 阅读 · 0 评论 -
用完成端口(iocp) 写的一个简单的服务端例子
下面是用完成端口写的一个简单的 例子, 完成端口和重叠io 一样都是异步io。代码如下。欢迎大家建议 改进、原创 2014-01-11 00:54:59 · 2510 阅读 · 0 评论 -
智能指针auto_ptr的简单实现
智能指针auto_ptr的简单实现原创 2014-01-12 14:41:41 · 1041 阅读 · 0 评论 -
STL的内存池的设计源码分析和体会
STL的内存池的设计源码分析和体会原创 2014-01-14 18:29:21 · 1323 阅读 · 0 评论 -
整理过后的电驴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 · 1505 阅读 · 0 评论 -
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 · 1203 阅读 · 0 评论 -
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 · 1152 阅读 · 0 评论 -
WTL的框架粗略概况
大道不过三两行,说穿不值一文钱。 WTL的源码比MFC的要简洁一些。 虽然UI封装的少,但是没有大碍,如果WTL用时间长了 你会觉得 比MFC更舒服,实际上MFC提供的文档视图结构 基本上 大部分人 都没用到,很多做界面开发的 更本不需要这个。原创 2014-01-30 00:04:33 · 1418 阅读 · 0 评论 -
ROUND_UP函数详解(STL内存分配的时候 内存对齐上调大小的函数)
在STL的源码中,或者是其他地方碰到内存对齐的时候 一般会有一个类似于round_up的函数。 一般是像这样子 #define __ALIGN 8 //假设是按照8个字节对齐 static size_t ROUND_UP(size_t bytes) {原创 2014-04-13 15:39:13 · 5743 阅读 · 0 评论 -
电驴 emule 源码分析 (1)
关于emule 主要就是 连接 kad网络部分, 搜索部分,共享部分,下载部分,还有就是IRC聊天部分。IRC聊天部分应该不是大多数人想知道的重点,核心部分 还是kad网络的构造 和 下载部分 的实现。 我看了下 搜索部分,大致的过程是以下酱紫。 希望有更多 学习emule源码的人 一起交流共享。原创 2014-07-03 09:46:49 · 4587 阅读 · 0 评论 -
各种排序算法的实现-2(折半插入排序)
排序算法原创 2013-12-23 01:59:17 · 1570 阅读 · 0 评论 -
各种排序算法的实现-1(直接插入排序)
很多排序算法 可能你当时看完还记得,但是时间长了就会忘记, 我现在在这里 记录一下 ,供大家共同讨论。 首先介绍最直接 最简单的 ,直接插入排序算法: 这种算法思想比较简单,就是从第二元素开始,依次往后挪动, 每一个元素与前面的元素逐个比较,一旦找到了比自己大的元素 或者相等的元素,那么ok 直接插进去。 如此循环 直到列表遍历完毕。原创 2013-12-22 22:01:33 · 1402 阅读 · 0 评论 -
一个重叠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 · 1253 阅读 · 0 评论 -
各种排序算法的实现-5(表插入排序-2)
表插入排序 最后还要整理一下 按照由小到大的顺序去排列。 下面是算法的实现代码:原创 2013-12-29 01:10:29 · 1265 阅读 · 0 评论 -
各种排序算法的实现-6(希尔排序的实现)
希尔排序的实现同样也是一种插入排序,只是它比直接插入排序更加牛逼一点。原创 2013-12-29 01:52:41 · 1816 阅读 · 1 评论 -
各种排序算法的实现-4(表插入排序-1)
现在介绍一下表插入排序。 这种排序算法和直接插入排序很像,每一个节点都存在一个 next域 来指示 这个节点的下一个节点, 和链表有点像, 在插入的过程当中就保证当前已经根据他们的next指向的位置 而链成了一个有序的列表,然后第二步 再帮这个表按照顺序整理为一个 新的 按照大小顺序 而排列的表。 首先演示一下插入的过程, 下面是具体的实验代码: #define SI原创 2013-12-29 00:13:08 · 1253 阅读 · 0 评论 -
各种排序算法的实现-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 · 1049 阅读 · 0 评论 -
各种排序算法的实现-7(冒泡排序的实现)
这种排序算法 在各种C语言教材当中 几乎是介绍的第一种 算法。原创 2013-12-29 02:01:01 · 1559 阅读 · 0 评论 -
各种排序算法的实现-8(选择排序的实现)
这种排序算法的实现很容易理解 就是从后面的序列中找一个最小的出来,不断的找啊 找最后整个堆找没了就完了思路很简单, 就好像你在人家教室外面喊 第一名出来,然后第一名出来 ,第二名出来 ,第二名出来, 如此下去 整个教室就空了, 选择排序一样,就是 第一次喊 最小的出来,然后 把最小的 给推出去, 不断的喊 喊道整个序列都没了 也就有序了 下面是具体的算法的实现的例子 大家可以看看原创 2013-12-29 02:38:29 · 1028 阅读 · 0 评论 -
各种排序算法的实现-9(快速排序的实现)
这种排序算法 实际上也要依靠冒泡的手段。大致思路是这样子的, 比如有个序列, 1,4,7,-33,24,9,10,22,43,0.原创 2013-12-29 18:43:52 · 1005 阅读 · 0 评论 -
各种排序算法的实现-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 · 903 阅读 · 0 评论 -
各种排序算法的实现-10(归并排序的实现)
归并排序实际上也是一种选择排序。 思路相对简单,就不详细的说了 下面是示例代码原创 2013-12-30 01:59:55 · 1351 阅读 · 0 评论 -
模仿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 · 959 阅读 · 0 评论