• Qt on Windows实现解析

    就窗口系统而言,我对C/S架构的更为熟悉一些。以前看过基于X window的一些实现,比如qtopia以及其他一些嵌入式窗口系统。C/S架构的GUI系统的结构比较清晰。其中,窗口服务器负责监听输入时间、屏幕绘制以及窗口状态维护,应用程序负责接收服务器的消息并进行处理、并把状态改变反馈给窗口服务器等。

    但是,Windows窗口系统使用的却是基于共享库的实现方式。共享库中保存着所用图形客户端的窗口信息,共享库和每一个客户端程序都运行在同一个进程中。基于共享库的图形系统具有响应速度快、资源开销小的优点,这也是Windows窗口系统表现非常优秀的原因。这种窗口系统带来的问题就是对共享信息访问的安全性。

    在虚拟内存管理的前提下,对这些共享信息的访问无疑要借助内核态的帮助。Windows下的图形应用之所以需要提供回调函数,是因为这个… 【查看更多】