GTK2:g_thread_init已弃用

ReX*_*357 5 c linux gtk multithreading gtk2

这是我第一次尝试制作一个线程软件.它将是基于Arch Linux的GTK2.

我按照这里的例子:

开罗的螺纹动画

使用底部的SIGALRM示例.

编译时收到以下警告:

warning: 'g_thread_init' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:260) [-Wdeprecated-declarations]
if (!g_thread_supported ()){ g_thread_init(NULL); }
Run Code Online (Sandbox Code Playgroud)

我正试图找到关于我应该怎么做的信息.网上出现此警告的唯一事情是软件在编译时抛出相同错误的错误报告.很多报告看起来像他们说只是删除线.

我是否只删除该线并保持其余部分完好无损?或者有更好的方法来解决这个问题吗?

我正在使用触摸屏在Raspberry Pi Model B上运行信息娱乐系统,我想确保它像iPhone一样快感,因此我想在高优先级线程中运行图形和用户输入内容.

如果有人能指出我正确的方向这种类型的东西,将不胜感激.如有必要,任何在线文学作品都会有所帮助.

提前致谢.

Fid*_*its 7

根据:

https://developer.gnome.org/glib/2.34/glib-Deprecated-Thread-APIs.html#g-thread-init

g_thread_init自版本2.32起已被弃用,不应在新编写的代码中使用.不再需要此功能.GLib线程系统在程序开始时自动初始化.

函数原型如下:

void g_thread_init (gpointer vtable);
Run Code Online (Sandbox Code Playgroud)

在上面的链接中也提到了这一点:

从版本2.32开始,GLib不再支持自定义线程实现,并且该vtable参数被忽略,您应该通过NULL.

奇怪的是,在一个声明中他们说你不应该使用它然后在另一个声明中说如果你使用它,则传递NULL作为它的参数.无论哪种方式,如果您使用Glib> = 2.32,则不再需要调用它.