X协议的c语言绑定(XCB) 是一种替代Xlib具有占用空间小,延迟隐藏,直接访问协议,提高线程的支持,和可扩展性。
XCB("X C Bing")是一个低级的api给X window server。 XCB是Xlib的一个替代产物,Xlib曾是多年以来标准的C绑定的给X Window System 协议的库。Xlib表现得很优秀,但是对于应用程序来说也有很多不理想的地方,例如:
小平台: Xlib包含在大段的渗世代码,精简起来十分困难
延迟隐藏:Xlib需要有效的同步回复:他们会一直阻塞直到获取到结果,不管这个结果是否立即需要
直接访问协议:Xlib需要大量的缓存,层升返和相似的优吵喊饥化。由于这个通性,它很难简单的发出特定的X 协议请求和处理特定的响应
线程化应用程序:Xlib尽量会支持多线程,它的api的容错性较差
新的扩展:Xlib的底部架构提供了有限的支持给新的X的扩展客户端代码。
XCB被设计用来解决上述的问题,目前已经解决的有:
工具包的实现
直接进行协议级的编程
轻量级的调用常用的Xlib api.