gpt4 book ai didi

c - gdk_screen_get_default() 和 get_width()/height() 段错误

转载 作者:行者123 更新时间:2023-11-30 14:22:14 27 4
gpt4 key购买 nike

我刚刚破解了 GTK 开发的基础,并尝试做一些创造性的事情,这对我正在开发的应用程序的 future 有用。

具体来说,

int main(int argc, char *argv[])
{
GtkWidget *window = NULL, *label = NULL;
GdkScreen *screen = NULL;
gint width = 0, height = 0;
char *resolution = NULL;

gtk_init(&argc, &argv);

if((screen = gdk_screen_get_default()) != NULL)
{
width = gdk_screen_get_width(screen);
height = gdk_screen_get_height(screen);
}

sprintf(resolution, "%d x %d", width, height);

...

执行时会导致段错误。我确信我犯了一个菜鸟错误,最终我会认识到错误是什么,但目前我无法弄清楚。我生成的 Google 结果也没有太大用处。

有什么帮助吗?

最佳答案

一个问题是变量resolution指向 NULL,因此 sprintf 肯定会导致未定义的行为(可能会崩溃)。代码应该为该变量分配内存(例如 resolution = malloc(somesize); )或在堆栈上声明它(例如 char resolution[somesize]; )

关于c - gdk_screen_get_default() 和 get_width()/height() 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13924654/

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