小编Sam*_*ble的帖子

从 C 和 C++ 中的父进程获取子进程列表(跨平台,无命令行)

如何在不使用命令行的情况下以跨平台方式在 C 和 C++ 中从给定的父进程 ID 获取子进程 ID 列表?我自己在下面提供了一个答案,其中涵盖了 Win32、macOS、Linux、FreeBSD、DragonFly BSD 和 Darwin,使用 C++。

随意将我的代码转换为 C 解决方案(根据需要以及本机 API 或 POSIX),或者使用不同的 API 或方法提供您自己的解决方案,但不使用 popen() 或 system() 之类的东西。添加对更多平台的支持显然也是受欢迎的。

例如:其他*BSD、Solaris、移动平台等。

c c++ desktop cross-platform pid

5
推荐指数
1
解决办法
1155
查看次数

XOpenDisplay(0) 和 XOpenDisplay(NULL) 有什么区别?

Display XOpenDisplay(0) 和 XOpenDisplay(NULL) 有什么区别?

#include <X11/Xlib.h>

struct MwmHints
{
    unsigned long flags;
    unsigned long functions;
    unsigned long decorations;
    long input_mode;
    unsigned long status;
};
enum
{
    MWM_HINTS_FUNCTIONS = (1L << 0),
    MWM_HINTS_DECORATIONS =  (1L << 1),

    MWM_FUNC_ALL = (1L << 0),
    MWM_FUNC_RESIZE = (1L << 1),
    MWM_FUNC_MOVE = (1L << 2),
    MWM_FUNC_MINIMIZE = (1L << 3),
    MWM_FUNC_MAXIMIZE = (1L << 4),
    MWM_FUNC_CLOSE = (1L << 5)
};

extern "C"
{
    void borderless(Window window)
    {
        Display *display = XOpenDisplay(0);
        Atom …
Run Code Online (Sandbox Code Playgroud)

c++ linux x11 xlib

1
推荐指数
1
解决办法
2121
查看次数

标签 统计

c++ ×2

c ×1

cross-platform ×1

desktop ×1

linux ×1

pid ×1

x11 ×1

xlib ×1