c-deos X窗口id 0的含义-没有创建窗口



当我打印窗口句柄(X11简单窗口)的值时,它为零。有窗户吗?

我所拥有的是C程序中两个位置的以下日志。我需要确保这两扇窗户是一样的我打印了那里的id,结果是0。我怀疑这是同一个窗口还是根本没有创建窗口

printf("\n窗口id是…%d",获胜);

结果为0。

问题-如果为X窗口打印的值为0。这是否意味着没有窗口。或者这是一个合适的身份证?

在回答后编辑---
1.将Window打印为int是可以的,而且以前也这样做过。像223021这样的值会在两个printf中打印出来。使用格式说明符%u也会产生相同的结果。

2.Win被宣布为Window Win;

在我的系统中,sizeof(Window)产生8,而sizeof(int)产生4。这可能就是为什么您的printf打印0:printf("%d", someWindow)使用8个字节中的前4个,而只有最后一个可能很重要。

您必须将Window强制转换为已知类型,而不是

printf("%d", (int) win);
printf("%ld", (long) win);

你使用的类型可能越大越好。事实上,我甚至不确定Window是否必须实现为算术类型。

相关内容

  • 没有找到相关文章

最新更新