2015年7月9日

防止界面卡顿

摘要: void DoEvents(){ MSG msg; // Process existing messages in the application's message queue. // When the queue is empty, do clean up and return... 阅读全文

posted @ 2015-07-09 16:34 strangeman 阅读(255) 评论(0) 推荐(0) 编辑

2015年5月27日

互斥对象锁和临界区锁性能比较(临界区效率更高,互斥可用于多进程的多线程中)

摘要: classnull测试工作system 在Win32平台上进行多线程编程,常会用到锁。下边用C++实现了互斥对象(Mutex)锁和临界区(CRITICAL_SECTION)锁,以加深理解和今后方便使用。代码已在VS2005环境下编译测试通过。Lock.h[cpp] view plaincopy... 阅读全文

posted @ 2015-05-27 16:55 strangeman 阅读(987) 评论(0) 推荐(0) 编辑

VC++ 0xC0000005: Access violation.

摘要: public: COptionDlg(CWnd* pParent = NULL); // 标准构造函数 virtual ~COptionDlg(); TCONFIG m_tCfg;// 对话框数据 enum { IDD = IDD_OPTIONDLG }; 上面的做法会发生报错,感觉... 阅读全文

posted @ 2015-05-27 10:15 strangeman 阅读(876) 评论(0) 推荐(0) 编辑

2015年4月29日

C++中智能指针的设计和使用

摘要: 转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235 智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄... 阅读全文

posted @ 2015-04-29 21:05 strangeman 阅读(1321) 评论(0) 推荐(0) 编辑

推荐的字符和字符串处理方法

摘要: 最好将应用程序转换为支持Unicode的形式。 遵循的基本准则如下:1.开始将文本字符串想象为字符的数组,而不是char或字节的数组2.用通用数据类型(如TCHAR/PTSTR)来表示文本字符和字符串3.用明确的数据类型(如BYTE和PBYTE)来表示字节,字节指针和数据缓冲区4.用TEXT或_T宏... 阅读全文

posted @ 2015-04-29 00:06 strangeman 阅读(272) 评论(0) 推荐(0) 编辑

VC++多线程编程

摘要: 一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThrea... 阅读全文

posted @ 2015-04-29 00:03 strangeman 阅读(1551) 评论(0) 推荐(0) 编辑

2015年4月28日

多播_1

摘要: IPPROTO_IP1.IP_HDRINCL,布尔型,仅适用于原始套接字(SOCK_RAW)如果应用程序希望接收IP层及IP层以上的所有数据或者自行组装包含IP层在内的报文,那么可以设置该选项为TRUE。2.IP_ADD_MEMBERSHIP,struct ip_mreq结构,用于加入多播组该选项用... 阅读全文

posted @ 2015-04-28 23:37 strangeman 阅读(410) 评论(0) 推荐(0) 编辑

广播

摘要: 只有通过UDP套接字才能实现广播和多播。 报文的发送在默认情况下,UPD套接字是无法发送广播报文的,套接字启用/禁止广播是通过SOL_SOCKET->SO_BROADCAST选项来完成的。下面代码,可以确认广播选项是默认关闭的:BOOL bBroadcast; int optlen = sizeof... 阅读全文

posted @ 2015-04-28 23:35 strangeman 阅读(167) 评论(0) 推荐(0) 编辑

套接字I/O模型-select

摘要: 共有6种类型套接字I/O模型。blocking(阻塞),select(选择),WSAAsyncSelect(异步选择),WSAEventSelect(事件选择),overlapped(重叠),completionport(完成端口)。1.select之所以称select模型,是因为工作原理是利用se... 阅读全文

posted @ 2015-04-28 23:33 strangeman 阅读(317) 评论(0) 推荐(0) 编辑

将套接字设置为非阻塞状态

摘要: 创建一个套接字并将之设置为非阻塞模式:SOCKET s; unsigned long ul = 1; int ret; s = socket(AF_INET, SOCK_STREAM, 0); ret = ioctlsocket(s, FIONRIO, (unsigned long)&ul); i... 阅读全文

posted @ 2015-04-28 23:32 strangeman 阅读(393) 评论(0) 推荐(0) 编辑

导航