( void )ucSlaveAddress; ucSlaveAddress是个uchar变量,这是什么用法?
在看freemodbus代码,看到这个函数时:eMBErrorCode
eMBRTUInit( UCHAR ucSlaveAddress, UCHAR ucPort, ULONG ulBaudRate, eMBParity eParity )
{
eMBErrorCode eStatus = MB_ENOERR;
ULONG usTimerT35_50us;
( void )ucSlaveAddress;
ENTER_CRITICAL_SECTION();
...
}
( void )ucSlaveAddress;这句话不理解了,给的参数明明是个无符号字符变量,在前边价格void是什么意思?
在freemodbus-tcp中这个ucSlaveAddress参数是不使用的,这里用来防止编译器报警告。在嵌入式的操作系统代码中这种形式的代码很常见,一般都是用来防止编译器报警告,有些时候是强制转换,看情况的 不使用的参数,防止编译警告 ( void )任意类型? 风子 发表于 2017-1-2 21:28
不使用的参数,防止编译警告
明白了,感谢。 :lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol
页:
[1]