~怪^_*兽~

虚荣锁身躯 心灵给酒醉 脆弱人类 懒问何为对
(怪兽乐园Q群:75375912

导航

随笔分类 -  操作系统

上一页 1 2 3

基于 IOCP 的通用异步 Windows Socket TCP 高性能服务端组件的设计与实现
摘要:设计概述 服务端通信组件的设计是一项非常严谨的工作,其中性能、伸缩性和稳定性是必须考虑的硬性质量指标,若要把组件设计为通用组件提供给多种已知或未知的上层应用使用,则设计的难度更会大大增加,通用性、可用性和灵活性必须考虑在内。 现以一个基于 IOCP 的通用异步 Windows Socket TCP 服务端组件为例子,讲述其设计与实现相关的问题,希望能引发大家的思考,对大家日后开展相关类似工作时有所帮助。关于通用性、可用性、Socket 模型选型以及接口模型的设计等问题已经在本座前段时间发表的《通用异步 Windows Socket TCP 客户端组件的设计与实现》中进行过阐述,此处就不再重.. 阅读全文

posted @ 2012-02-26 00:18 ~怪^_*兽~ 阅读(21008) 评论(87) 推荐(13) 编辑

如何养成良好的 C++ 编程习惯(1)—— 内存管理
摘要:“养成良好的编程习惯”其实是相当综合的一个命题,可以从多个角度、维度和层次进行论述和评判。如代码的风格、效率和可读性;模块设计的灵活性、可扩展性和耦合度等等。要试图把所有方面都阐述清楚必须花很多的精力,而且也不一定能阐述得全面。因此,本系列文章以软件开发的基础问题为切入点,阐述程序设计和代码编写方面的细节问题,以点带面,旨在激发大家的思考与总结,希望能为大家带来实际的帮助。 虽然本系列文章定位为科普读物,但本座相信它们不但适合新手们学习借鉴,同时也能引发老鸟们的反思与共鸣。欢迎大家提出宝贵的意见和反馈,觉得写得还可以就“荐”一下吧 ^_^ 阅读全文

posted @ 2012-02-18 07:27 ~怪^_*兽~ 阅读(12132) 评论(20) 推荐(10) 编辑

通用异步 Windows Socket TCP 客户端组件的设计与实现
摘要:编写 Windows Socket TCP 客户端其实并不困难,Windows 提供了6种I/O 通信模型供大家选择。但本座看过很多客户端程序都把 Socket 通信和业务逻辑混在一起,剪不断理还乱。每个程序都 Copy / Parse 类似的代码再进行修改,实在有点情何以堪。因此本座利用一些闲暇时光写了一个基于 IOCP 的通用异步 Windows Socket TCP高性能服务端组件和一个通用异步 Windows Socket TCP 客户端组件供各位看官参详参详,希望能激发下大家的灵感。本篇文章讲述客户端组件。闲话少说,我们现在步入正题。最重要的第一个问题:如何才能达到通用? 答:... 阅读全文

posted @ 2012-02-15 01:26 ~怪^_*兽~ 阅读(14323) 评论(39) 推荐(10) 编辑

Linux 安装 MySQL / MySQL 主从备份
摘要:!! 假定所有安装包均在 /share目录,安装目录为 /opt !!$ ll /share-rw-r--r-- 1 root root 129041873 Nov 29 21:06 mysql-5.1.54-linux-i686-glibc23.tar.gz======================================================================================= 安装 MySQL ========================================================================= 阅读全文

posted @ 2012-02-14 11:31 ~怪^_*兽~ 阅读(3311) 评论(4) 推荐(3) 编辑

实现 Win32 程序的消息映射宏(类似 MFC )
摘要:对于消息映射宏,不用多说了,用过 MFC 的人都很清楚。但目前有不少程序由于各种原因并没有使用 MFC,所以本帖讨论一下如何在 Win32 程序中实现类似MFC的消息映射宏。其实 Windows 的头文件 “WindowsX.h”(注意:不是“Windows.h”) 中提供了一些有用的宏来帮助我们实现消息映射。本座是也基于这个头文件实现消息映射,首先看看宏定义文件:#pragma once#include <windowsx.h>/************************************************************************//* 阅读全文

posted @ 2012-02-13 02:42 ~怪^_*兽~ 阅读(5316) 评论(3) 推荐(1) 编辑

C++ 封装私有堆(Private Heap)
摘要:Private Heap 是 Windows 提供的一种内存内存机制,对于那些需要频繁分配和释放动态内存的应用程序来说,Private Heap 是提高应用程序性能的一大法宝,使用它能降低 new / malloc 的调用排队竞争以及内存空洞。Private Heap 的原理及应用的资料很多,这里就不一一介绍了,常用的 Private Heap API 有以下几个,具体介绍请参考帮助文档:HeapCreate();HeapDestroy();HeapAlloc();HeapReAlloc();HeapSize();HeapFree();HeapCompact(); 由于是 C 风格的... 阅读全文

posted @ 2012-02-12 20:39 ~怪^_*兽~ 阅读(5694) 评论(2) 推荐(1) 编辑

基于 crt debug 实现的 Windows 程序内存泄漏检测工具
摘要:Windows 程序内存泄漏检测是一项十分重要的工作,基于 GUI 的应用程序通常在调试结束时也有内存泄漏报告,但这个报告的信息不全面,不能定位到产生泄漏的具体行号。其实自己实现一个内存泄漏检测工具是一件非常简单的事情,但看过网上写的很多例子,普遍存在两种问题:要么考虑不周全,一种环境下能用,而在另外一种环境下却不能很好工作,或者漏洞报告的输出方式不合理。要么过于保守,例如:完全没有必要在 _malloc_dbg() 和 _free_dbg() 的调用前后用 CriticalSection 进行保护(跟踪一下多线程环境下 new 和 malloc 的代码就会明白)。 内存检测主要用到以下... 阅读全文

posted @ 2012-02-12 18:35 ~怪^_*兽~ 阅读(4006) 评论(2) 推荐(1) 编辑

上一页 1 2 3