c++ - Linux X-Server 编程资源

标签 c++ c xserver x11

那里有什么容易得到的东西吗?最好是免费的,因为我现在没有钱花。

我想要完成的事情

基本上,我正在使用 native C/C++ 编写多平台应用程序,现在我已经安装了 Linux,我觉得我真的准备好进行“多平台”开发了。在任何人说“使用 SDL”或“Qt”之前,请注意我正在为我计划用于商业的应用程序执行此操作(Qt 为商业应用程序付费)。虽然 SDL 很好,但我也希望了解一般的窗口管理器。我觉得学习如何直接与操作系统通信的最好方法就是自己编写应用程序。

那么,那里有什么资源吗?

最佳答案

首先,X-Windows 与 Linux 无关。

X-Windows 既是图形协议(protocol)又是围绕它构建的 GUI 系统。 X 可在大多数操作系统上运行,包括 Windows 和 Mac。最典型的场景是 X 应用程序在运行类 UNIX 操作系统(例如 Linux)的多用户计算机上运行,​​并且用户使用在 X 终端或桌面上运行的 X 服务器与其交互操作系统。 X-Server 是 X-System 的标准部分。如果您在 Windows 上安装 X-Server,那么您将能够与运行在一台或多台其他计算机上的图形应用程序进行交互。

听起来您想专注于构建 X 应用程序,而不是设备驱动程序或服务器或 X 系统的任何其他部分。 Linux 是一个不错的选择,但您需要的书籍和文档可能是使用 Solaris 或 BSD UNIX 编写的。但它是相同的 API。

自从 X 至少从 90 年代初开始就很普遍,因此可以在二手店和大学杂货店寻找书籍。在 Craigslist 上为 X 相关书籍做广告。

X 的最低级别 API 称为 Xlib。像 GTK 和 QT 这样的工具包在此之上分层,因此研究它们的代码是学习如何做事的好方法。但也有一种叫做 X-Toolkit 的东西运行在 Xlib 之上,曾经是 Motif 等 GUI 工具包的基础层。如果我是你,我会从 X-Toolkit 开始,熟悉 X 的所有组件部分以及它们如何交互。例如,您需要一段时间才能习惯这样一个事实,即在 X-Server 显示器上管理窗口的窗口管理器并不在 X-server 上运行,而是在远程系统上运行。或者您可以让应用程序在 Linux 和 OS/X 以及 Solaris 上运行,所有应用程序都在单个 Windows 机器上的 X 服务器上显示它们的窗口。

Google X Toolkit intrinsics 可获取各种信息,包括免费引用手册。

当您阅读更多有关它的内容时,您会遇到许多其他独特的术语,您可以通过谷歌搜索这些术语以获取更多信息和更广阔的视野。不要在 Athena Widgets 或 Motif 等旧工具包上花费太多时间。

由于在 Internet 的早期编程 X 的人比现在多,USENET 常见问题解答仍然是介绍性提示的良好来源,例如http://www.faqs.org/faqs/Xt-FAQ/

关于c++ - Linux X-Server 编程资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9442532/

相关文章:

c - 定义非零整数结构

c - 取决于srand和seed的rand算法是什么?

linux - 在 :0 instead of :1 上启动 vncserver

python - 如何从 python 应用程序确定 X 服务器/X 转发是否正在运行?

C++ Prefix 和 Postfix 运算符重载加法 (+)(notepad++ 或 --)

python - C++中是否有任何等效于python中字典的get函数的函数?

c++ - 如何将数据写入 MutableBufferSequence

c++ - C编译器自动版本递增

C memcpy unsigned char 到 1 元素 unsigned char 数组用于校验和计算

c - 如果窗口内容更改,则自动截取 x 服务器的屏幕截图