在C++中实现事件(委托)(续)
摘要:在上文 在C++中实现事件(委托) 中我们实现的C#里委托方式的事件处理, 虽然使用很方便,但是感觉似乎少了一点C#的味道, 下面我们尝试把它改成真正的C#版。
其实要改成真正的C#版,我们主要要做2件事, 一是吧CEventHandler放到外面,可以让外部直接构造, 二是实现operator +=和operator -=
阅读全文
posted @
2013-01-31 17:46
Richard Wei
阅读(2990)
推荐(2) 编辑
在C++中实现事件(委托)
摘要:在C++中实现回调机制的几种方式一文中,我们提到了实现回调的三种方式(C风格的回调函数, Sink方式和Delegate方式)。在面向对象开发中,delegate的方式是最灵活和方便的,因此很早就有人用复杂的模板去模拟, 实现起来很复杂。但是现在借助C++11的function和bind, 我们可以很方便的去实现。
阅读全文
posted @
2013-01-31 14:23
Richard Wei
阅读(2524)
推荐(2) 编辑
理解WinRT
摘要:总之, 一开始我们会觉得WinRT很好奇, 但是后来我们逐步发现它其实并没有那么神秘, 它是很多微软现有技术的合成体。 微软的技术更新很多时候让人眼花潦兰,但是底层本质的东西(比如COM,D3D,Win32)其实一直很少改变。
阅读全文
posted @
2013-01-13 16:40
Richard Wei
阅读(1873)
推荐(0) 编辑
理解 Windows API 调用过程
摘要:最后, 总结一下, 微软在Intel处理器上开发Windows操作系统, 我们在Windows操作系统上开发应用程序,无非是一层层的封装, 其实具体到细节, 每层都没有太多神秘的东西。我们当然不可能掌握每层的细节, 只能理解每层的概念, 以帮助我们在应用层更好的开发。
阅读全文
posted @
2013-01-13 13:39
Richard Wei
阅读(2760)
推荐(1) 编辑
理解Windows内核模式与用户模式
摘要:windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间, 并且可以访问所有的CPU指令。一般程序运行在用户模式, 通过系统调用切换到内核模式执行系统功能,Windows系统通过这种方式来确保系统的安全和稳定。
阅读全文
posted @
2013-01-12 22:08
Richard Wei
阅读(4976)
推荐(2) 编辑