我现在正在阅读一个项目并找到一些难以理解的代码,如下所示:
struct mcachefs_metadata_t* mdata_root;
...
mcachefs_metadata_release(mdata_root);
mcachefs_metadata_release
的定义如下:
void
mcachefs_metadata_release(struct mcachefs_metadata_t* mdata)
{
(void) mdata;
mcachefs_metadata_unlock ();
}
mcachefs_metadata_unlock
的定义如下:
#define mcachefs_metadata_unlock() mcachefs_mutex_unlock ( &mcachefs_metadata_mutex, "metadata", __CONTEXT );
然后,mcachefs_mutex_unlock
函数:
void
mcachefs_mutex_unlock(struct mcachefs_mutex_t* mutex, const char* name,
const char* context)
{
int res;
...
mutex->owner = 0;
mutex->context = NULL;
res = pthread_mutex_unlock(&(mutex->mutex));
if (res == 0)
{
return;
}
...
}
我无法理解(void) mdata;
的意思
mcachefs_metadata_release
功能。它的用途是什么?
答案 0 :(得分:3)
用于抑制unused argument: mdata
编译器警告。顺便说一句,这是一种不好的做法。