首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X11编程,一些问题

X11编程,一些问题
EN

Stack Overflow用户
提问于 2018-11-22 02:47:25
回答 1查看 86关注 0票数 0

我想用X11做一个简单的可视化。我不想要一个有按钮之类的花哨家伙,我只是想在窗口中显示一个普通的折线图,仅此而已。

由于我在X11编程方面没有太多经验,所以我使用了以下示例代码:

https://rosettacode.org/wiki/Window_creation/X11#Xlib

它可以很好地编译并工作,但是当它创建的窗口关闭时,错误

代码语言:javascript
复制
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
      after 11 requests (9 known processed) with 0 events remaining.

出现在终端中。因此,我想知道这可能是什么原因,以及如何修复它?

EN

回答 1

Stack Overflow用户

发布于 2018-11-22 04:19:27

利用源头,卢克。

代码语言:javascript
复制
while (1) {
   XNextEvent(d, &e);
   if (e.type == Expose) {
      XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10);
      XDrawString(d, w, DefaultGC(d, s), 10, 50, msg, strlen(msg));
   }
   if (e.type == KeyPress)
      break;
}

XCloseDisplay(d);

如果通过按某个键退出循环,则调用XCloseDisplay()。如果你“从外面”(比方说,用你的鼠标)杀死窗口,这个函数就永远不会被调用。这个过程突然消失了,X会对此发出警告。

至少在我的系统上,kill(1)也不会产生警告。我怀疑与您的窗口管理器之间存在一些交互,您将在稍后的xlib培训中处理这些问题。:-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53418710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档