自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人生代码,代码人生。。。

技术改变命运。。。

  • 博客(32)
  • 资源 (39)
  • 收藏
  • 关注

转载 Windows ATL

简介 ATL,Active Template Library活动模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。通过活动模板库,可以建立COM组件,然后通过ASP页面中的脚本对COM对象进行调用。这种COM组件可以包含属性页、对话框等等控件。ATL简介一. 什么是ATL自从1993年Microsoft首次公布了COM技术以后

2013-05-26 20:50:03 1757

转载 Windows COM编程

com编程COM编程入门第一部分——什么是COM,如何使用COM本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。COM即组件对象模型,是Component Object Model                 取前三个

2013-05-26 18:48:03 4015

转载 Windows SDK

概述微软每推出一个重要的windows版本,一般都会同时推出一个SDK(Software Development Kit)。SDK包含了开发该windows版本所需的windows函数和常数定义、API函数说明文档、相关工具和示例。SDK一般使用C语言,但不包括编译器。高版本VC++包括了SDK所有的头文件、帮助、示例和工具,不需要再安装SDK,低版本如VC++5.0则需要安装SDK。从win

2013-05-26 18:44:38 822

转载 MFC和Win32的区别

参考一:Win32与MFC区别与联系(整理自CSDN,http://topic.csdn.net/u/20090611/20/a0532864-3890-4a67-b649-ecbf31d4fc70.html,感谢各位的智慧,学习了)MFC就是 微软给你包装了的库,提供了很多扩展功能,以及高级功能,这样方便你使用,而不是自己从头调用API来实现而API由于是MFC下一层,自然实

2013-05-26 18:30:32 3158

转载 冒泡排序 & 选择排序 (C++)

冒泡排序和选择排序C++实现冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),

2013-05-26 18:14:29 791

转载 C++ 选择排序

C++ 排序之选择排序思想:首先找出最大的元素,把它移动到a[n-1],然后在余下的n-1个元素中寻找最大的元素并把它移动到a[n-2],如此进行下去。#include #include using namespace std;template int Max(T a[], int n){

2013-05-26 18:10:58 1561

转载 C++结构体实例和类实例的初始化

C++结构体实例和类实例的初始化      结构体实例(包括共用体)和类实例的初始化方法完全相同,二者都可以应用于继承层次中。不同点是结构体(包括共用体)默认成员为public,而类默认成员是private型的。 一、若类和结构体所有数据成员均为public型,可采取如下带花括号形式进行初始化。    注意:①        不论值的个数多少,都必须使用花括号定界②

2013-05-26 00:04:08 755

转载 RTTI (Run-Time Type Identification,通过运行时类型识别)

参考一:RTTI(Run-Time Type Identification,通过运行时类型识别)程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型。   RTTI提供了以下两个非常有用的操作符:  (1)typeid操作符,返回指针和引用所指的实际类型;  (2)dynamic_cast操作符,将基类类型的指针或引用安全地转换为派生

2013-05-25 23:40:12 1495

转载 设计模式_迭代器模式(C++)

参考一:设计模式 迭代器模式 C++实现迭代器模式(Iterator)把按某种顺序访问一个集合中的元素的方式封装在一个对象中,从而无须知道集合的内部表示就可以访问集合。迭代器模式可能是面向对象软件开发中应用的最广泛的一个设计模式。GOOD:提供一种方法顺序访问一个聚敛对象的各个元素,而又不暴露该对象的内部表示。为遍历不同的聚集结构提供如开始,下一个,是否结束,当前一项等统一接口

2013-05-25 23:21:49 887

转载 SendMessage 和 PostMessage 的区别

参考一:PostMessage与SendMessage的迥异   在做基于窗口的windows程序的时候,我们避免不了要向窗口发送消息,有两种方式,一种是PostMessage,另外一种是SendMessage。关于这两个宏,我也是搞了好久才彻底搞明白。。。而搞明白的前提就是狠狠的看MSDN,那里讲的才是最权威的。1、PostMessage会将消息压入窗口所在线程的消息队列

2013-05-25 21:54:35 9278

转载 PeekMessage & GetMessage 区别

参考一:PeekMessage与GetMessageBOOL PeekMessage(    LPMSG lpMsg,    HWND hWnd,    UINT wMsgFilterMin,    UINT wMsgFilterMax,    UINT wRemoveMsg);当消息队列中存在消息时, PeekM

2013-05-25 20:58:41 1009

转载 PostThreadMessage

参考一:使用PostThreadMessage在Win32线程间传递消息PostThreadMessage的原型是这样的BOOL PostThreadMessage( DWORD idThread,     UINT Msg,     WPARAM wParam,     LPARAM lParam);PostThreadMessage可以用于线程之间的异步通讯

2013-05-23 22:19:45 1564

转载 Windows 线程间的通信

在windows系统中线程间的通信一般采用四种方式:全局变量方式、消息传递方式、参数传递方式和线程同步法。下面分别作介绍:  1.全局变量方式由于属于同一个进程的各个线程共享操作系统分配该进程的资源,故解决线程间通信最简单的一种方法是使用全局变量。对于标准类型的全局变量,我们建议使用volatile 修饰符,它告诉编译器无需对该变量作任何的优化,即无需将它放到一个寄存器中,并且该值

2013-05-23 20:51:16 1630

转载 C++ 线程安全的 单实例 模式

一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety.使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶颈。1、静态成员实例的懒汉模式:class Singleton

2013-05-22 17:24:08 781

转载 Windows 消息机制

参考一:Windows消息机制要点1. 窗口过程     每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wParam, lParam), 当窗口收到消息时系统就会调用此窗口过程来处理消息。(所以叫回调函数)2 消息类型 1) 系统定义消息(S

2013-05-20 20:22:20 4281 1

转载 C++ STL 迭代器

参考一:迭代器迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值。例如,一个数组索引,也可以认为是一种迭代器。迭代器有各种不同的创建方法。程序可能把迭代器作为一个变量创建。一个STL容器类可能为了使用一个特定类型的数据而创建一个迭代器。作为指针,

2013-05-19 16:24:39 1109

转载 string的size()和length()

C++标准库中的string中两者的源代码如下:      size_type   __CLR_OR_THIS_CALL   length()   const     { //   return   length   of   sequence     return   (_Mysize);     }         size_type   __CLR_OR_THIS_C

2013-05-10 10:38:28 1016

转载 STL容器:deque

参考一:1. 概念vector支持 随机访问每个元素,所需要的时间为常量,其在末尾增加或删除元素所需时间与元素数目无关,但是,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。和vector相比,deque 是一个双向开口的连续线性空间,它允许在常数时间内对头端进行元素的插入或删除操作。需要注意的是,虽然deque也支持常数时间的随机访问,但是,由于其数据内存特点,其效率较vec

2013-05-04 21:12:41 1049

转载 ioctlsocket() 用法

参考一:Select模型与ioctlsocket的使用方法    int iMode = 1; //0:阻塞  ioctlsocket(socketc,FIONBIO, (u_long FAR*) &iMode);//非阻塞设置 rs=recvfrom(socketc,rbuf,sizeof(rbuf),0,(SOCKADDR*)&addr,&l

2013-05-04 15:12:22 12911

转载 非阻塞connect

参考一:非阻塞的connect主要有以下用途:我们可以把三路握手迭合在其他处理上。说白了就是在握手期间我们还可以干点其他的,不用傻等。我们可以采用该技术同时建立多个连接。既然使用select等待连接的建立,  连接的超时时间可以由我们自行控制。需要处理的一些细节:我们必须处理connect连接立刻建立的情况。 通常连接建立成功,该描述字可写。失败

2013-05-04 14:57:22 999

转载 C/C++中二级指针的理解

以前在学习数据结构的时候一直没弄懂函数参数里面传递 ** p  以及使用 &的含义,这里摘抄了一小段文章方便理解。不懂的时候再看看这几段代码。指针参数是如何传递内存的?    如果函数的参数是一个指针,不要指望用该指针去申请动态内存。见如下例子:void GetMemory(char *ip, int num){ ip = (char *)malloc(sizeof(char)

2013-05-04 13:10:22 982

转载 STL中用erase()方法遍历删除元素

STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。      在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1      std::list List;      std::lis

2013-05-04 12:29:12 694

转载 寻找二叉树中两个子节点的最近父节点

参考一:情况1. 节点只有left/right,没有parent指针,root已知情况2. root未知,但是每个节点都有parent指针情况3. 二叉树是个二叉查找树,且root和两个节点的值(a, b)已知 --------------------------------------------------------------------------------虽然

2013-05-04 11:01:14 1167

转载 TCP流量控制:滑动窗口协议

参考一:TCP提供流量控制。TCP总是告诉对端它能够接收多少字节的数据(通告窗口),该窗口在任何时刻都指出接收缓冲区中可用空间,从而确保发送端发送的数据不会溢出接收缓冲区。如图所示,tcp发送主和接收方既有发送缓冲区,又有接收缓冲区,流量控制的滑动窗口通过探测接收端的可用缓冲区实现,而用于拥塞管理的拥塞窗口是通过限制发送端的发送速率实现的。图中向上箭头表示接收缓冲区,向下箭头表示发送缓

2013-05-03 22:51:06 8802

转载 setsockopt() 设置socket 详细用法

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经

2013-05-02 22:53:29 1143

转载 recv() 的返回值

recv函数int recv( SOCKET s, char FAR *buf, int len, int flags);不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符;第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;第三个参数指明buf的长度;第四个参数一般置0。这里只描述同步So

2013-05-02 22:23:59 915

转载 Windows Sockets 错误码(ErrorCode)及出错原因

Windows Sockets在头文件winsock.h中定义了所有的错误码,它们包括以“WSA”打头的Windows Sockets实现返回的错误码和Berkeley Sockets定义的错误码全集。定义Berkeley Sockets错误码是为了确保原有软件的可移植性。Windows Sockets错误码列表     表A.1列出了WSAGetLastError()函数返回的可能错

2013-05-02 22:16:37 7602

转载 Client向Server send数据,返回 WSAEWOULDBLOCK 错误

参见MSDN中的一段:The FD_WRITE network event is handled slightly differently. An FD_WRITE network event is recorded when a socket is first connected withconnect/ WSAConnect or accepted withaccept/ WSAA

2013-05-02 21:59:50 839

转载 根据GetLastError()返回值获取错误信息

VC中GetLastError()获取错误信息的使用在VC中编写应用程序时,经常需要涉及到错误处理问题。许多函数调用只用TRUE和FALSE来表明函数的运行结果。一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因。     可问题是,GetLastError()返回的只是一个双字节数值(DWORD)。OH,MY GOD!目前Win32的出错编号已经从0排到

2013-05-02 18:31:54 1640

转载 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值

1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回值 2、阻塞模式与非阻塞模式下write的返回值各代表什么意思?有没有区别?阻塞与非阻塞write返回值没有区分,都是 0发送数据大小,特别:返回值 3、阻塞模式下read返回值 < 0 && errno != EIN

2013-05-02 18:08:11 653

转载 用setsockopt()来控制recv()与send()的超时

在send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,而设置收发超时控制:在Linux下需要注意的是时间的控制结构是struct timeval而并不是某一整型数,以下是来自于网上一篇文章中的摘录,它是这样写的:int nNetTimeout=1000;//1秒,//设置发送超时setsockopt(socket,SOL_SOCKET,SO_SNDTIME

2013-05-02 17:43:13 1566

转载 C/C++ 数据范围

C/C++ 数据范围速查表char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int -2147483648 ~ +2147483647 (4 Bytes)unsigned int 0 ~ 4294967295

2013-05-02 17:25:10 669

网络商城+论文+源码 购物系统jsp ssh mvc java web j2ee毕业设计

网络商城+论文+源码 购物系统jsp ssh mvc java web j2ee毕业设计

2017-02-13

酒店管理 预订系统+源码jsp ssh mvc java web j2ee论文 毕业设计

酒店管理 预订系统+源码jsp ssh mvc java web j2ee论文 毕业设计

2017-02-13

基于JAVA开发的网上商城源码(毕业设计 J2EE)

基于JAVA开发的网上商城源码(毕业设计 J2EE)

2017-02-13

OA 办公自动化系统+论文+源码jsp ssh mvc java web j2ee毕业设计

OA 办公自动化系统+论文+源码jsp ssh mvc java web j2ee毕业设计

2017-02-13

基于J2EE框架的个人博客系统项目毕业设计(代码及论文)

基于J2EE框架的个人博客系统项目毕业设计(代码及论文)

2017-02-13

密码学习题集参考答案(一些思考题).docx

密码学与网络安全课期末考试题库

2016-12-06

Windows下的文件增量备份工具

Windows下的文件增量备份工具

2015-01-24

目录文件实时同步备份工具

该软件用于重要文件的备份,你只需添加源文件路径和目标路径(支持多任务),并设置好自动备份时间间隔和*备份模式,该软件即会按照你设置的时间,自动更新文件(有增加或修改过的文件),并一直循环下去。 *提供两种备份模式: 同步(即保持源路径和目标路径文件一致)、 增量(只备份有更新的文件,不删除不存在的文件) 支持 本地—本地、本地-网络、网络-本地、网络-网络 的数据备份(仅限于局域网)

2015-01-24

Access mdb比较工具

一款功能强大而又非常实用的Access mdb比较工具,一款功能强大而又非常实用的Access mdb比较工具!

2015-01-20

WSAStartup函数

WSAStartup函数;

2013-03-14

UML类图几种关系的总结

UML类图几种关系的总结

2013-03-14

Oracle面试题

Oracle面试题

2013-03-03

C++析构函数使用virtual的原因

C++析构函数使用virtual的原因

2013-03-03

模板的 主版本模板类、全特化、偏特化

模板的 主版本模板类、全特化、偏特化

2013-03-03

for_each 返回值

for_each 返回值实例详解;

2013-03-03

FunctionObject_函数对象

FunctionObject_函数对象

2013-03-03

算法__链表的操作

算法__链表的操作

2013-03-03

UML 聚合和组合的区别

UML 聚合和组合的区别

2013-03-02

extern 'C' 详解

extern 'C' 详解

2013-03-02

c++内存中字节对齐问题详解

c++内存中字节对齐问题详解

2013-03-02

C++中union详解

C++ union 详解&实例

2013-03-02

C++ const使用详解

C++ const使用详解,显浅易懂,适合新手。 绝对值得收藏的技术教程。

2013-03-02

C++ 纯虚函数

C++ 纯虚函数

2012-08-12

C++ 工厂模式 (简单工厂、工厂和抽象工厂)

C++ 工厂模式 (简单工厂、工厂和抽象工厂)

2012-08-12

#pragma comment()的使用

#pragma comment()的使用

2012-08-12

Java 面试题大全及其答案

Java 面试题大全及其答案

2012-08-12

Java面试题全攻略 2012

Java面试题全攻略 2012

2012-08-12

C++ 经典struct面试题.doc

C++ 经典struct面试题

2012-08-12

C++ 笔试面试题集锦(找工作必读)

C++ 笔试面试题集锦(找工作必读)

2012-08-12

C++ 笔试面试题大解析

C++ 常见笔试面试题大解析

2012-08-12

java进阶篇课后编程习题答案

java语言程序设计进阶篇课后编程习题答案,欢迎下载参考,希望可以和大家共同进步!哈哈

2009-02-28

空空如也

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

TA关注的人

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