其他
C语言宏定义的提示之法
请看下面这段代码:
这是我早期做intel驱动的时候看到intel的驱动工程师写的代码,虽然这两个宏没有实际用途,但细细一看却发现大有用处。
#define IN
#define OUT
#define UAdress volatile unsigned int *
#define Raw_buffer void *
void SetHwiPortsDataReg(IN UAdress Register , IN int value)
{
_SetHwiPortsDataReg(Register,&value);
}
void _Out_Put_value(IN UAdress Register, OUT Raw_buffer buffer)
{
_Out_Put_value(Register,buffer);
}
这里,IN和OUT的定义可以让代码更容易阅读,如上,IN表示把数据输入,OUT表示取数据,一个小小的技巧。