存档

文章标签 ‘金山’

关于基类构造函数调用虚函数实际调用的不是派生类的问题的原因

2012年7月1日 没有评论 4754次阅读    

关于基类构造函数调用虚函数实际调用的不是派生类的问题的原因

我们知道,类的构造函数里面编译器插入了很多代码,比如异常安全,虚函数表指针的设置,基类构造,等等。

而且,关键是这些代码时在任何用户的代码(非初始化)的地方之前插入的,问题就来了···

如果在基类构造函数里面调用基类的虚函数,那么,实际调用的却不像我们当初认为的多态效果,为什么呢?

下面看看编译怎么实现的就知道了····
阅读全文...

Share
分类: VC++ 标签: , ,

ATL与MFC消息分发机制的对比—由金山开源代码引出的思考(一)

2012年7月1日 没有评论 6238次阅读    

前几天刚看金山开源代码时写了一篇博客分析了一下其消息机制的实现方式。后来发现写的很多都是ATL里面的,最**的是犯了一个严重的错误,把ATL的窗口消息机制里面一个重要技术:实现HWND和对应窗口类this指针之间的映射的Thunk技术给忽略掉了。后来陈坤GG即时的提醒了我,先谢谢他了!
好了,步入正题,今天主要对比一下ATL和MFC是如何将窗口句柄HWND和对应的类的this指针映射的。
阅读全文...

Share
分类: VC++ 标签: ,