1

有没有容易掌握的?最好是免费的,因为我现在没有钱花。

我正在努力完成的事情

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

那么,那里有资源吗?

4

2 回答 2

3

首先,X-Windows 与 Linux 无关。

X-Windows 既是一个图形协议,又是一个围绕它构建的 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 内部函数可获取各种信息,包括免费参考手册。

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

由于互联网早期编程 X 的人比现在多,USENET FAQs 仍然是介绍性技巧的一个很好的来源,例如http://www.faqs.org/faqs/Xt-FAQ/

于 2012-02-25T08:47:39.570 回答
2

您可以将您的应用程序编写为 C 中的服务器。将其称为Engine。无需考虑用户界面。之后,您可以在 Qt 中创建接口。通信协议将是公共的(或私有的),您的 Qt 应用程序将是开源的。稍后,如果您愿意,可以为您的应用程序创建更多接口。如web界面、Gnome界面、C#.NET界面等。

于 2012-02-25T08:32:51.943 回答