c - 使用 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 和 -Wextra 时如何避免编译器警告

标签 c gcc pthreads

我想在我的项目中使用 GCC 编译器选项 -Wextra。 但它会导致 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 出现问题。

以下代码:

static pthread_mutex_t g_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;

导致以下警告:

test.c:39: warning: missing initializer
test.c:39: warning: (near initialization for `g_mutex.__data.__nusers')

有什么办法可以避免这个警告吗?

Gcc 版本是 3.4.5。 pthread版本是2.3.5。

最佳答案

使用最新的 GCC 版本(恐怕不是您提到的那个),您可以使用选项 -Wno-missing-field-initializers 来消除此类警告。

关于c - 使用 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 和 -Wextra 时如何避免编译器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493247/

相关文章:

c - memcpy 删除 C 中 char 数组中的变量

gcc - 通过 Homebrew 软件安装 gcc49 失败

c++ - 专门化非模板类的模板化构造函数

c - 使用 POSIX 线程 : Program hangs every fourth or fifth run, 但在其他方面似乎可以工作

c - 哲学家用餐

c - 关于线程和变量复制的简单问题(无需同步)

空指针常量可以是任何取值为0的整数常量表达式吗?

c - 访问函数指针数组

c - Printf 语句不适用于 lambda

c - 常用的libc头文件有哪些及其功能