【发布时间】:2011-06-27 13:04:08
【问题描述】:
我想在我的项目中使用 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 应该避免对来自系统头文件的内容发出警告。我想知道您的 gcc 是否太旧,或者您是否包含 pthread.h 错误(可能是
""而不是<>?)所以 gcc 不会将其视为系统头文件..? -
警告不是来自系统标头;它来自 test.c;因此不会被抑制。