- 博客(28)
- 收藏
- 关注
转载 C++中类的内存分布
如何计算类对象占用的字节数?原文地址:http://blog.youkuaiyun.com/mal327/article/details/6784254一个空类的话1个字节。这是为了保证n个连续空类声明时,变量地址有偏移,防止变量覆盖。 非空类的话用关键字sizeof计算。如果手工计算就相当麻烦,光padding就一堆规则了。而且有些额外信息比如虚函数(多个虚函数也只产生一
2016-10-08 17:05:48
321
转载 使用VC6.0开发COM组件 - 傻瓜式,不讲理论,只讲实例
原文地址:http://www.cnblogs.com/lin1270/archive/2013/04/02/2997042.html1.创建一个ATL COM AppWizard工程,如图:2. 选择 Dynamic link Library (DLL),其它两个请百度,或参照其它文档。如下图:3. 添加一个自己的COM类,用于导出需要用到的
2016-10-08 16:28:39
1417
转载 com组件技术
COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下。 COM与语言,平台无关的特性使所有的
2016-10-08 16:18:53
367
转载 最近面试遇到的Windows相关的题目
原文地址:http://www.cnblogs.com/hlxs/p/4091623.html1:GetMessage和PeekMessage的区别?GetMessage:获取消息队列中的一个消息,存入MSG中,并从消息队列中移除,如果消息队列中没有消息就会阻塞;PeekMessage:查看消息,有消息,就将数据存入MSG结构中,没有消息就返回FALSE,不会阻塞,但如果没
2016-10-08 15:57:59
311
转载 多线程编程--5种方法实现线程同步
1:用Interlocked系列函数实现线程同步;2:用CRITICAL_SECTION及其系列函数实现线程同步;3:用RTL_SRWLOCK及其系列函数实现线程同步;4:用事件内核对象实现线程同步;5:用信号量内核对象实现线程同步; 1:用Interlocked系列函数实现线程同步实例如下://旋转锁#include using
2016-10-08 15:43:59
246
转载 Socket阻塞模式和非阻塞模式的区别
简单点说:阻塞就是干不完不准回来, 非组赛就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你C
2016-10-08 14:39:28
640
转载 MFC对多线程编程的支持
五、MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API
2016-10-08 13:55:41
261
转载 MFC 多线程及线程同步
MFC 多线程及线程同步原文链接:http://www.cnblogs.com/zqrferrari/archive/2010/07/07/1773113.html一、MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行
2016-10-08 11:30:09
240
转载 windows多媒体定时器timeSetEvent()函数
MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, WORD dwUser,
2016-07-28 16:13:43
1092
转载 Windows的字体LOGFONT
Windows的字体LOGFONTLOGFONT是Windows内部字体的逻辑结构,主要用于设置字体格式,其定义如下:typedef struct tagLOGFONTA{ LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrie
2016-07-28 10:06:59
553
转载 CFont用法 CFont 使用详解
CFont class encapsulates the functionalities needed to manipulate the Fonts in Windows programming. A font can be created in 4 ways with a CFont class using CreateFont, CreateFontIndirect, CreatePoi
2016-07-28 10:04:42
4832
1
转载 各类文件的文件头标志
各类文件的文件头标志1、从Ultra-edit-32中提取出来的JPEG (jpg),文件头:FFD8FFPNG (png),文件头:89504E47GIF (gif),文件头:47494638TIFF (tif),文件头:49492A00Windows Bitmap (bmp),文件头:424DCAD (dwg),文件头:41433130Adobe Photosh
2016-07-27 14:10:53
803
转载 GetWindowLong函数(最好的解释资料,绝对值得一看,此函数在子类化技巧时候经常用...
分类: windows编程技术文章 2008-03-06 16:24 11017人阅读 评论(14) 收藏 举报今天在看一个代码里头写了GetWindowLong (hwnd, 0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第2个参数为0是指什么,MD,很恼火,最近终于在一个国外网站找到,我在这篇文章贴了,网站是http://www.codeguru.com/
2016-07-25 15:34:32
740
转载 socket阻塞模式和非阻塞模式
阻塞模式 Windows套接字在阻塞和非阻塞两种模式下执行I/O操作。在阻塞模式下,在I/O操作完成前,执行的操作函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O是否完成,该函数所在的线程会继续运行。在阻塞模式的套接字上,调用任何一个Windows Sockets API都会耗费不确定的等待时间。图所示,在调用re
2016-07-22 17:17:58
346
转载 设置套接字选项值setsockopt()函数使用详解
1. closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt (s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,
2016-07-22 17:07:12
575
转载 bind绑定
当用socket()创建套接口后,它便存在于一个名字空间(地址族)中,但并未赋名。bind()函数通过给一个未命名套接口分配一个本地名字来为套接口建立本地捆绑(主机地址/端口号)。将一本地地址与一套接口捆绑。#include int PASCAL FAR bind( SOCKET s, const struct sockaddr FAR* name,int na
2016-07-22 15:20:20
2796
转载 inet_ntoa()网络字节序IP转化为点分十进制IP
本文来自搜狗百科inet_ntoa()函数(IP地址转换函数)能把网络字节序IP转化点分十进制IP;inet_ntoa()返回的字符串存放在WINDOWS套接口实现所分配的内存中。目录1函数信息2程序示例1函数信息编辑linux下:函数声明:cha
2016-07-22 15:11:51
2326
转载 关闭套接字closesocket()
本文来自百度百科 此函数关闭套接字s,并释放分配给该套接字的资源,以后对s 的引用都将产生错误WSAENOTSOCK。如果s涉及一个打开的TCP连接,该连接被释放。中文名closesocket()注 释本函数关闭一个套接口类 型函数
2016-07-22 14:58:02
10892
转载 创建套接字
socket()函数实现创建套接字的功能。当创建套接字时,需要向该函数传递“地址家族”、“套接字类型”和“协议类型”三个参数。Windows Socket定义AF_INET为IP地址家族,所以该函数的第一个参数必须为AF_INET。该程序用TCP协议打开套接字,所以设置第二个参数为SOCK_STREAM。第三个参数为协议类型,设置为IPPROTO_TCP。在第一个和第二个参数确定的情况下,第三个参
2016-07-22 14:45:37
1049
转载 慎用WSACleanup()
函数简述: 中止Windows Sockets DLL的使用. #include int PASCAL FAR WSACleanup ( void );注释: 应用程序或DLL在使用Windows Sockets服务之前必须要进行一次成功的WSAStartup()调用.当它完成了Windows Socke
2016-07-22 14:38:50
1808
转载 WSAStartup()函数加载套接字
int WSAStartup( __in WORD wVersionRequested, __out LPWSADATA lpWSAData );WSAStartup格 式: int PASCAL FAR WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 参 数: wVersionRequested 欲使
2016-07-22 14:35:54
444
转载 MFC网络编程笔记
一.TCP流式套接字的编程步骤在使用之前须链接库函数:工程->设置->Link->输入ws2_32.lib,OK!服务器端程序:1、加载套接字库2、创建套接字(socket)。3、将套接字绑定到一个本地地址和端口上(bind)。4、将套接字设为监听模式,准备接收客户请求(listen)。5、等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字
2016-07-22 10:48:44
266
转载 网络编程里几个结构
IP地址结构(注意红色的语句,经常用到)struct in_addr { union { struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b; struct { u_short s_w1,s_w2; } S_un_w; u_long
2016-07-22 10:45:00
314
转载 MFC中网络编程,利用套接字的过程。
服务器端 一、创建服务器套接字(CREATE)。 二、服务器套接字进行信息绑定(BIND),并开始监听连接(LISTEN)。 三、接受来自客户端的连接请求(ACCEPT),并创建接收进程。 四、开始数据传输(SEND、RECEIVE)。 五、关闭套接字(CLOSESOCKET)。客户机端 一、创建客户机套接字(CREATE)。 二、与远程服务器进行连接
2016-07-22 10:39:02
548
转载 DRAWITEMSTRUCT自绘控件结构体
DRAWITEMSTRUCT 编辑本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!DRAWITEMSTRUCT结构[1] 为需要自绘的控件或者菜单项提供了必要的信息。在需要绘制的控件或者菜单项对应的WM_DRAWITEM消息函数中得到一个指向该结构的指针。该结构是由收到的WM_DRAWITEM消息的lParam参数提供的,这个参数是指向这个结构的指
2016-07-20 11:51:12
629
转载 CreateThread创建线程函数
function CreateThread( lpThreadAttributes: Pointer; {安全设置} dwStackSize: DWORD; {堆栈大小} lpStartAddress: TFNThreadStartRoutine; {入口函数} lpParameter: Pointer;
2016-07-19 16:55:30
1857
转载 采用CreateThread()创建多线程程序
本位转自:http://blog.youkuaiyun.com/cbnotes/article/details/8277180在window环境下,Win32 提供了一系列的API函数来完成线程的创建、挂起、恢复、终结以及通信等工作:1、主要的函数列表:序号函数名功能1CreateThread()创建一个新线程
2016-07-19 15:59:27
822
转载 C++ string祥解
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 =进行赋值操作,==进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。好了,进入正题………首先,为了在我们的程序中使用strin
2016-07-19 15:51:26
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人