colin

busy to live or busy to die

让C++使用极速的FastMM

由于malloc的低效,一直在寻找替换的方案,最后突发其想,封装一个FastMM的DLL作为C++的内存管理器;然后重载全局的new和delete操作符。如上方法执行之后,再跑原来的测试程序,效率果然与FastMM版本的一致了。我原来以为VC版STL的默认内存管理器,会有大量的优化,后来跟进去才发...

2011-12-06 13:47:46

阅读数:2024

评论数:1

龟速的malloc和神速的FastMM

由于在Delphi项目中,要频繁创建和释放大量小对象,因此担心有效率问题,于是打于GetMem.inc看看,发现FastMM对于小块内存作了很多工作,它预置了一组不同大小的内存池,当要创建一块内存时,FastMM找到大小最相近的内存池分配之,内存释放后回收到池中。这样的做法虽有小量内存浪费,但效率...

2011-12-02 17:24:52

阅读数:1995

评论数:2

窗口过程封装的一些实现

 -----------------------------------------------------------------------------------------------------------------作者:  colin微博:  http://weibo.com/jac...

2011-06-13 04:03:00

阅读数:3844

评论数:7

实用C++函数:取当前模块句柄

<br />当前模块的句柄在程序进入点可以获得,一般做法是保存为一个全局变量,以后使用这个全局变量即可。但有时在写一些比较通用的代码时刚好要用到模块句柄,如果还去访问这个全局变量就破坏了代码的通用性。<br />下面函数可以取得当前模块的句柄,无须保存,随调随得:<b...

2010-11-29 01:26:00

阅读数:2021

评论数:3

用C++实现属性

<br />Delphi和C#的类都提供了“属性”的概念,使得Getter和Setter的方法可以像访问成员一样简单,如下面的Delphi代码:TMyClass =class<br />private<br />    FValue: Integer;<b...

2010-11-21 01:02:00

阅读数:1812

评论数:0

Google Chrome 构建指南

首先,配置开发环境:安装VS2005,全部安装,不要只选VC++。安装VS2005 SP1,根椐VS的语言选择安装,这里给出的链接是中文版的。安装Windows SDK 2008,安装完后,执行:开始|所有程序|microsoft windows SDK v6.1|Visual Studio Re...

2009-01-02 23:05:00

阅读数:2316

评论数:0

Windows消息

Windows消息从大四开始学习Windows编程,至今已有三年时间,回顾起来,觉得这个学习过程其实就是对消息的理解过程。最初消息给我的感觉就是一种事件通知,而窗口是通知的目的地。当键盘鼠标或者窗口的某些状态改变时,系统包装了一个消息结构,并“找到”处理消息的窗口“发送或投递”给它。有了这一层理解...

2008-03-30 16:08:00

阅读数:2735

评论数:0

MFC-GDI绘制

最好的GDI入门教程是《Window程序设计》的第五章,如果你没有任何GDI基础,最好精读这一章,因为本文并不会介绍GDI的方方面面,事实上这也是不可能完成的任务。我只将以前学习GDI时遇到的几个难点拿出来讲讲。GDI对象的用法GDI对象就是画笔,画刷,字体这类资源,以我的经验,GDI对象的管理是...

2007-12-31 14:41:00

阅读数:7247

评论数:3

小巧可爱的MiniDraw

       上文用于演示的程序名叫MiniDraw,也许你已有所察觉――这应该是一个画图程序。不错,我的实验品就是经典的画图程序,并且这几天我已经把它编写出来了。这是一个小巧可爱的画图程序,麻雀虽小,五脏俱全,屏幕截图如下:       从图中可以看出,每个图形就是一个对象,支持各种属性设置,以...

2007-12-27 22:20:00

阅读数:3412

评论数:2

MFC-文档视图

MDI程序       MiniDraw只有一个About对话框,这回要把它变成一个MDI程序,借助于文档视图的威力,并不需要花很大的力气。       MDI由4个类组成:主框架类,由CMDIFrameWnd派生而来,表示程序的MDI父窗口。子框架类,由CMDIChildWnd派生而来,表示程序...

2007-12-17 10:04:00

阅读数:7861

评论数:4

MFC-RTTI

关于RTTI       正如侯杰所说,文档视图是MFC进化为应用程序框架的灵魂,不可否认,这是MFC最为精炒的设计,十多年前数据与表现分离的思想就被应用在这个框架之上。而在文档视图之下,支撑着它的是运行时类型信息(RTTI)。       RTTI允许程序在运行时刻获得类乃至普通类型的信息,这是...

2007-12-15 13:05:00

阅读数:4052

评论数:1

MFC-对话框与数据交换

       对话框是非常重要的一种窗体,就我看过的应用,除了MDI程序,对话框比文档视图框架用得更多。原因大概有两个,首先对话框可以利用资源编辑器来编辑,这就有了一点快速开发的感觉,尽管比真正的快速开发弱得多;其次,对话框提供一种叫数据交换的方法,让控件与某种数据类型关联起来,比如Edit控件与...

2007-12-10 10:12:00

阅读数:6183

评论数:3

MFC-窗口封装

        MFC对Window作了一层比较浅的封装,其创建过程基本与SDK差不多。它简化了窗口的注册,并将窗口过程与类关联起来;后者是比较重要的封装,它使消息能够分流给“类的窗口过程”,既而通过消息映射,才能到达各个处理函数。       使用传统的SDK来创建一个窗口有点繁琐,伪代码是这样...

2007-12-08 12:22:00

阅读数:4844

评论数:0

MFC-命令分派

       MFC的命令大体上由两类界面元素引发,一种是菜单项,另一种是如按钮,复选框等的通用控件。从消息来看,其实就是处理WM_COMMAND消息。尽管命令消息的进入点仍然是CWnd::OnWndMsg,不过MFC让它走了另一条路,即OnCommand。       让命令消息作另外处理是有原...

2007-12-04 12:28:00

阅读数:2974

评论数:0

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