XInitThreads() 已调用。仍然 graphics.h 崩溃
XInitThreads() called. Still graphics.h crashes
当我用 c++ 绘图时,框架在 2-3 秒内正常显示,然后崩溃说:
[xcb] 处理队列时序列号未知。
[xcb] 很可能这是一个多线程客户端并且尚未调用 XInitThreads
我在 initgraph() 之前调用了 XInitThreads()
我使用 Ubuntu 17.10 和 g++ 7.2
从我在网上看到的情况来看,使用 XInitThreads() 时 Ubuntu 似乎有问题。
有替代的绘图方法吗?或者我可以解决这个问题吗?
我的部分代码:
int main()
{
int gd = DETECT, gm;
XInitThreads();
initgraph(&gd, &gm, NULL);
line(100,100,200,200);
delay(10000);
getch();
}
See: xcb.freedesktop.org/tutorial
看来你可以使用这个教程。我的理解是 graphics.h 是很久以前包含的函数的 header,Borland Turbo-C?如果直接复制该库的功能,它将与 xcb 或 Xlib 不兼容,因为它完全接管了帧缓冲区。
我发现基础 Windows 和绘图教程非常有用,您可以在我提供的 link 中找到它们。创建 window 并将其映射到屏幕后,您可以使用图元在其中绘制,如果您愿意,可以逐像素绘制。
当我用 c++ 绘图时,框架在 2-3 秒内正常显示,然后崩溃说:
[xcb] 处理队列时序列号未知。
[xcb] 很可能这是一个多线程客户端并且尚未调用 XInitThreads
我在 initgraph() 之前调用了 XInitThreads() 我使用 Ubuntu 17.10 和 g++ 7.2 从我在网上看到的情况来看,使用 XInitThreads() 时 Ubuntu 似乎有问题。 有替代的绘图方法吗?或者我可以解决这个问题吗?
我的部分代码:
int main()
{
int gd = DETECT, gm;
XInitThreads();
initgraph(&gd, &gm, NULL);
line(100,100,200,200);
delay(10000);
getch();
}
See: xcb.freedesktop.org/tutorial
看来你可以使用这个教程。我的理解是 graphics.h 是很久以前包含的函数的 header,Borland Turbo-C?如果直接复制该库的功能,它将与 xcb 或 Xlib 不兼容,因为它完全接管了帧缓冲区。
我发现基础 Windows 和绘图教程非常有用,您可以在我提供的 link 中找到它们。创建 window 并将其映射到屏幕后,您可以使用图元在其中绘制,如果您愿意,可以逐像素绘制。