C/C++语言
文章平均质量分 70
老农V
越来越懒了~~~~~~。
展开
-
网际校验和(Internet Checksum)算法实现
网际校验和算法实现 佟强 2008.10.20原理请参考: 网际校验和算法: http://blog.csdn.net/microtong/archive/2008/10/20/3112139.aspx 网际校验和算法的特征:http://blog.csdn.net/microtong/archive/2008/10/20/3112157.aspx/*原创 2008-10-20 21:25:00 · 3959 阅读 · 0 评论 -
基于WSAAsyncSelect模型实现的聊天室图形客户端
对应的Linux服务器为:http://blog.csdn.net/microtong/archive/2009/12/12/4989902.aspx 头文件ClientDlg.h// ClientDlg.h : 头文件//#pragma once#include "afxcmn.h"#include "afxwin.h"#defi原创 2009-12-12 10:00:00 · 10281 阅读 · 8 评论 -
【转】多CPU上的原子操作
关于单CPU,多CPU上的原子操作 转自http://software.intel.com/zh-cn/blogs/2010/01/14/cpucpu/?cid=sw:prccsdn956 所谓原子操作,就是"不可中断的一个或一系列操作" 。硬件级的原子操作: 在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生转载 2010-01-19 10:38:00 · 3670 阅读 · 2 评论 -
探索C++的秘密之详解extern "C"
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE转载 2009-10-24 15:09:00 · 1110 阅读 · 0 评论 -
最简单的Windows套接字(Socket)例子(源码,实例)
最简单的Windows套接字(Socket)例子(源码,实例) 佟强(http://blog.csdn.net/microtong) 2008年11月21日 Server.exe PortNumber,例如Server 8000 Client.exe IPAddress PortNumber,例如Client 127.0.0.1 8000 然后在客户端的命令行输入字符原创 2008-11-21 21:05:00 · 19893 阅读 · 11 评论 -
STL中的模板类map的简单例子
STL中的模板类map的简单例子 佟强 2008.11.5 map的元素是由key和value两个分量组成的对偶(key,value)。key是键,value是与键key相关联的映射值。元素的键key是唯一的,给定一个key,就能唯一地确定与其相关联的另一个分量value。下面代码举例说明如何使用map,其中key和value的类型都是string类。#include原创 2008-11-05 11:28:00 · 1701 阅读 · 0 评论 -
STL中的map使用struct/class作为关键字的例子
STL中的map使用struct/class作为关键字的例子 佟强 2008.11.5 map的元素是由key和value两个分量组成的对偶(key,value)。key是键,value是与键key相关联的映射值。元素的键key是唯一的,给定一个key,就能唯一地确定与其相关联的另一个分量value。 map中如果使用struct或者class作为key,需要实现复制构造函数,原创 2008-11-05 11:08:00 · 5162 阅读 · 1 评论 -
TraceRoute(tracert)源码(基于Window IP帮助函数实现)
TraceRoute(tracert)源码(基于Window IP帮助函数实现) 佟强 2008.11.4 TraceRoute实现原理 http://blog.csdn.net/microtong/archive/2008/11/04/3220450.aspx 本程序使用Windows IP帮助函数发送ICMP回显请求报文,实现tracert的功能,探测每一跳路由器的IP原创 2008-11-04 20:24:00 · 7536 阅读 · 7 评论 -
STL中的模板类map的介绍
STL中的模板类map的介绍 佟强 2008.11.5 map的元素是由key和value两个分量组成的对偶(key,value)。key是键,value是与键key相关联的映射值。元素的键key是唯一的,给定一个key,就能唯一地确定与其相关联的另一个分量value。设分量key的类型为K,分量value的类型是T,下面语句声明一个映射对象m。 map m;原创 2008-11-05 11:22:00 · 2073 阅读 · 0 评论 -
TraceRoute(tracert)源码(基于ICMP.DLL实现)
TraceRoute(tracert)源码(基于ICMP.DLL实现) 佟强 2008.11.4TraceRoute的实现原理 http://blog.csdn.net/microtong/archive/2008/11/04/3220450.aspx 本程序直接使用ICMP.DLL动态链接库中的函数来发送ICMP回显请求报文,用以探测路由信息,输出每一跳路由器的IP和往返时间,原创 2008-11-04 20:27:00 · 5433 阅读 · 1 评论 -
TraceRoute(tracert)源码(基于原始套接字实现)
TraceRoute(tracert)源码(基于原始套接字实现) 佟强 2008.11.4 TraceRoute实现原理 http://blog.csdn.net/microtong/archive/2008/11/04/3220450.aspx 本程序实现Windows下tracert的功能,程序使用原始套接字发送ICMP回显请求报文,本接收ICMP超时差错报文,和ICMP回原创 2008-11-04 20:17:00 · 17265 阅读 · 11 评论 -
TraceRoute(tracert)实现原理
TraceRoute(tracert)实现原理 佟强 2008.11.4 TraceRoute程序的实现主要涉及IP头部生存时间(time to live, TTL)字段的使用。 设置TTL字段的目的是为了防止数据报由于选路错误或其他软硬件原因从而导致在网络中无休止的流动,TTL字段指定了数据报的生存时间。TTL的初始值由源主机设置,当一份数据报经过路由器时,处理该数据报的路由原创 2008-11-04 20:12:00 · 20830 阅读 · 8 评论 -
Windows线程(生产者与消费者问题)
Windows线程(生产者与消费者问题) 转载 佟强 2008.10.10 生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产转载 2008-10-10 11:19:00 · 3298 阅读 · 0 评论 -
Windows线程(使用Event同步)
Windows线程(使用Event同步) 佟强 2008.10.9#include #include //线程函数 DWORD WINAPI MyThreadProc(LPVOID lpParameter);//用户定义的类 class MyThreadParam{public: void myfunc();};HANDLE ev; //事原创 2008-10-09 22:47:00 · 1873 阅读 · 0 评论 -
struct的字节对齐问题(通过pragma pack(n)改变字节对齐的例子)
struct的字节对齐问题(通过pragma pack(n)改变字节对齐的例子) 佟强 2008.10.9 通过#pragma pack(n)改变C编译器的字节对齐方式,在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员原创 2008-10-09 12:54:00 · 1180 阅读 · 0 评论 -
ARP欺骗源码(基于WinPcap实现)
ARP欺骗源码(基于WinPcap实现) 佟强 2008.10.8 //ArpCheat.h #ifndef MY_ARP_CHEAT_INCLUDE_H #define MY_ARP_CHEAT_INCLUDE_H //字节对齐必须是1 #pragma pack (1) struct ethernet_head{ unsigned原创 2008-10-07 19:43:00 · 6575 阅读 · 5 评论 -
网际校验和算法(Internet CheckSum)
网际校验和算法 佟强 2008.10.20反码算数运算:两个数进行二进制反码求和的运算很简单。它的规则是从低位到高位逐列进行计算。0和0相加是0,0和1相加是1,1和1相加是0但要产生一个进位1,加到下一列。如果最高位相加后产生进位,则最后得到的结果要加1。网际校验和算法:在发送方,先把被校验的数据原创 2008-10-20 21:18:00 · 16554 阅读 · 3 评论 -
网际校验和(Internet Checksum)算法的特征
网际校验和算法特性 佟强 2008.10.20交换率和结合律:由于在累加的过程中,重要的只是字节的位置是奇数位还是偶数位,所以只要不混乱字节的奇偶位,相加可以任何顺序进行,加数之间也可以任意进行结合。( [A,B] + [C,D] + ... + [G,0原创 2008-10-20 21:21:00 · 7387 阅读 · 0 评论 -
关于Visual Studio 2010的MSDN Library的问题
关于Visual Studio 2010的MSDN Library的问题 发布时间:2010.04.20 14:27 来源:赛迪网 作者:纳克 <br />在4月13日,Visual Studio 2010正式版开放,让公众下载。想必很多人都会去安装这个用用,可能也会有一部分人和我遇到同样的麻烦。在此,粗谈一下我遇到的问题和解决办法,以便他人参考。 <br />与RC版本相比,新版变化不大,安装也方便。但是,如果我原先在RC版本中下载的高达3.25G的MSDN文档在正式版中“复用”,就会带转载 2010-08-31 01:27:00 · 1948 阅读 · 0 评论