MFC整个框架的粗略概况

24 篇文章 0 订阅
21 篇文章 0 订阅

    对于windows程序 ,无非是消息循环 和 窗口过程的消息处理。

         无论是MFC 或者是WTL  ,都只是内部封装,搞清楚这个过程 对于掌握框架,甚至自己制作框架都有好处。

   前段时间已经分析了一下WTL的, 关于MFC的框架,侯杰的 深入浅出MFC讲的比较细致。很到位,作为想把MFC彻底搞清楚的人 ,不应该去拒绝这本书。

       MFC实现了自己的RTTI, 当时因为C++的标准 还没有RTTI这个功能,所以MFC自己写了一个, 用的实际上也就是个链表,消息映射 也是链表,那几个奇怪的宏就一个RTTI的宏 和一个 消息映射宏 两大类。

       消息映射宏 是为了取代虚函数, WTL的模板实现也是为了取代虚函数,虚函数带来很大的内存开销。 所以这两个框架为了性能, 都尽量的避免了虚函数, 如果没有 virtual 关键字, 那么C++和C的性能几乎没什么区别了。

      MFC主要是用的钩子去 处理的消息循环,有人说不能跨线程去处理UI,我不知道为什么这么说, 但是MFC本身的架构确实这样子干了, 开线程,挂钩子。处理消息循环。

     在CWnd的createex就是所以创建窗口的源头。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值