XCB
来源:互联网 发布:java类设计工具 编辑:程序博客网 时间:2024/05/01 06:44
X协议的c语言绑定(XCB) 是一种替代Xlib具有占用空间小,延迟隐藏,直接访问协议,提高线程的支持,和可扩展性。
- 基本的窗口和绘制(https://xcb.freedesktop.org/tutorial/basicwindowsanddrawing/)
- 事件(https://xcb.freedesktop.org/tutorial/events/)
- 文本和字体(https://xcb.freedesktop.org/tutorial/fonts/)
- 窗口的内容和操作(https://xcb.freedesktop.org/windowcontextandmanipulation/)
- 颜色和像素地图(https://xcb.freedesktop.org/colorsandpixmaps/)
- 鼠标光标(https://xcb.freedesktop.org/tutorial/mousecursors/)
- Xlib 到XCB的翻译引导(https://xcb.freedesktop.org/xlibtoxcbtranslationguide/)
介绍
这个手册是用来介绍给想用XCB library进行编程需要的人们。 像使用Xlib library来使用XCB, 因为不是大多数的编程人员都想要写X的应用程序。而更多的开发者是想使用更高级的GUI 开发工具,如Motif, LessTiff, GTK, Qt, EWL, or ETK 或者更高级的使用library Cairo来进行绘制。虽然, 不是所有的XCB的基础都很复杂,了其他一些库的上层的东西也不是坏事。
在读完这个手册之后,一个人可以写简单图形程序而不是好看的图形界面(至少是相对简单的)。在写应用程序之前,这个先前的关于上面库的了解是更有必要的。
什么是XCB,为什么它为存在?
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.
0 0
- XCB
- xcb
- XCB
- 什么是XCB
- error: XCB requires xsltproc
- NTFS XCB定位
- X11 xcb 交叉编译
- 文件(6)XCB前奏
- 编译Mesa:No package 'xdamage', 'xfixes', 'x11-xcb', 'xcb-glx', 'xcb-dri2' found
- 暴删文件之Xcb填充
- 【文件7】所谓hardlink 所谓XCB大法
- ROS rviz奔溃:QXcbConnection: XCB error解决方法
- [C/C++] C语言文件读写示例程序 xcb
- 编译常用环境变量 No package 'xcb-proto' found
- linux(rhel)远程win rdesktop pkgconfig(xcb) >= 1.1.92
- DirectFB, OpenGL, OpenGL ES, EGL, EGLFS, GLX; OpenVG, XCB
- Ubuntu 安装Robo3t出现Available platform plugins are: xcb.
- Opencv 多线程显示错误 [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-thre
- 行车记录仪静电整改总结
- jquery中ajax处理跨域的三大方式
- OpenGL编程指南5:学习绘制不同风格的曲线
- Mac OSX下安装配置SRILM语言模型训练工具
- 前端开源项目周报0314
- XCB
- B1007
- Oracle 12.2中设置pdb随cdb启动而自动启动
- c++调用.NET dll
- 方法的重载(Overload)和重写(Override)
- Linux设备文件三大结构:inode,file,file_operations
- linux下django在apache中的session问题
- ios中获取路径/URL的方法总结
- 深入理解rmi原理