我有一个用 Xt(X Tools Intrinsic 库)编写的名为 XClient 的类来设置多套接字连接。这个 XClient 类旨在让 OSF/Motif GUI 扩展 XClient(因此 GUI 可以在套接字上进行通信)。
我正在尝试迁移到一个 GTK+ 环境,该环境出于可移植性的原因不使用 Xt 库。是否仍然可以创建一个包装器以允许 GTK+ 使用 Xt 库调用,或者是否可以?
我不希望 Xt 和 GTK+ 在同一个过程中运行良好或根本不运行。他们都试图“拥有” X 显示、主事件循环等。
您应该能够通过调用独立于 GTK 运行 Xt XtAppInitialize()
,这将打开它自己与 X 服务器的连接,这将把两者都视为独立的客户端。
XtAppMainLoop()
您可以通过将调用放在单独的线程中来处理单独的事件循环。请注意不要尝试从除一个线程之外的任何地方对其进行任何操作,因为我不确定 Xt 是否是线程安全的。(可能是现在;我已经有近 20 年没有分开 Xt 了,那时也不是。)