我正在寻找一个MODBUS lib。我找到了一个,但我无法理解这个宏在做什么以及这意味着什么
#define __UNUSED(x) ( ( void ) ( (x) == (x) ) ) //what this macro doing**
int
target_initialise( void * Target ) {
__UNUSED( Target );
return 0;
}
void *
target_alloc( void * Target, unsigned int Bytes ) {
__UNUSED( Target );
__UNUSED( Bytes );
return NULL;
}
void
target_free( void * Target, void * Data ) {
__UNUSED( Target );
__UNUSED( Data );
}
答案 0 :(得分:1)
宏扩展为
int
target_initialise( void * Target ) {
(void) (Target == Target);
return 0;
}
并且它用于使编译器警告静音。如果你用例如编译
使用gcc并使用-Wall
,编译器会警告很多事情
示例未使用的变量因此,在target_initialise
变量Target
中
不使用,编译器会警告,但使用宏
编译器会保持沉默。
我不知道为什么代码会这样做。