[语法]“(void) i” 是什么意思?解决方法

[语法]“(void) i” 是什么意思?
最近在看代码的时候看到类似这样的语句,VC2005可以编译通过,不知道是什么意思,请高手解释一下:

int i;
(void) i;

//--------------------------

以下是原本的代码(抽取了其中相关的部分),是用于锁定信号量的:

C/C++ code

typedef int _glthread_Mutex;

#define _glthread_DECLARE_STATIC_MUTEX(name)  static _glthread_Mutex name = 0

#define _glthread_LOCK_MUTEX(name)  (void) name

#define _glthread_UNLOCK_MUTEX(name)  (void) name

_glthread_DECLARE_STATIC_MUTEX(OneTimeLock);

static void one_time_init() {
   _glthread_LOCK_MUTEX(OneTimeLock);
   // do something...
   _glthread_UNLOCK_MUTEX(OneTimeLock);
}



------解决方案--------------------
用来避免"unreferenced variable"的warning
------解决方案--------------------
这代码看起来像是linux的
(void) i; 能编译通过,是因为它除了做了个强制类型转换,别的什么都没干

------解决方案--------------------
避免编译器提示变量i未被使用。
------解决方案--------------------
探讨
用来避免"unreferenced variable"的warning

------解决方案--------------------
This is a dummy code. The implementation is ignored.
------解决方案--------------------
用来欺骗编译器的,结果是什么都不做,但是编译器不会在报告变量未使用的警告信息。