gpt4 book ai didi

c++ - X11 资源释放(特别是 Screen 对象)

转载 作者:搜寻专家 更新时间:2023-10-31 00:54:41 25 4
gpt4 key购买 nike

我目前正在做一个偶尔需要直接使用 X11 函数的项目。来自一个一切都被广泛记录的 Windows 世界,我在查找和摸索相对稀少的 Linux 文档时遇到了一些麻烦。

例如,如果我有代码:

Display* disp;
if (!(disp = XOpenDisplay(NULL))) {
return;
}

Window root = DefaultRootWindow(disp);
Screen* scr = XDefaultScreenOfDisplay(disp);

XCloseDisplay(disp);

我知道 XCloseDisplay 会清理 Window root,因为它会破坏所有窗口和资源 ID。

我不知道我是否需要根据例子。

关于这种情况的任何信息,甚至关于何时使用 Xfree 的通用规则都将非常有帮助。

最佳答案

Applications should not directly modify any part of the Display and Screen structures. The members should be considered read-only, although they may change as the result of other operations on the display.

这意味着这些结构由 XLib 管理,不应该freeXFree 它们。释放一个结构意味着它曾经占用的内存可以分配给其他数据并最终被覆盖。

关于c++ - X11 资源释放(特别是 Screen 对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com