我有以下代码

bool isValidDisplay() {
   if (!XOpenDisplay(NULL)) {
      return false;
   }
   return true;
 }

据我了解XOpenDisplay正在分配资源,以上代码中释放资源的正确方法是什么。调用XCloseDisplay将解决此问题。

最佳答案

是的,调用XCloseDisplay会释放成功的XOpenDisplay的结果。

我猜这是您想要的,立即释放资源。

bool isValidDisplay() {
   Display *d;
   if (!(d = XOpenDisplay(NULL))) {
      return false;
   }
   XCloseDisplay(d);
   return true;
 }

资源:
$ man XOpenDisplay

关于c++ - 如何释放XopenDisplay分配的资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39091719/

10-11 03:54