【发布时间】:2012-08-04 12:01:05
【问题描述】:
我一直在使用一个使用 GCC 4.4.1 (ISO C99) 编译的程序,今天注意到了这个怪癖。尽管它在目标上运行没有任何问题,但编译器也不会使用 -Wall 发出任何警告。
void mutex_init(mutex_t *mutex)
{
if(unlikely(mutex->magic == MUTX_MAGIC_CHAR))
return;
mutex->owner = NULL;
mutex->prior = NULL;
mutex->magic = MUTX_MAGIC_CHAR;
thread_queue_init(&mutex->queue);
}
不应该是这样的
*mutex->owner = NULL;
【问题讨论】:
-
我不相信这会在没有警告的情况下编译:括号不平衡。
-
那是复制粘贴问题..现在修复它。