#error的作用是什么?
#error 指令让预处理器发出一条错误信息,并且会中断编译过程。下面我们从Linux代码中抽取出来一小段代码并做修改得到示例代码:
这段示例代码很简单,当RX_BUF_IDX宏的值不为0~3时,在预处理阶段就会通过 #error 指令输出一条错误提示信息:
"Invalid configuration for 8139_RXBUF_IDX"
下面编译看一看结果:
位操作的基本使用
给一个32bit数据的位置1,怎么用宏来实现?
#define SET_BIT(x, bit) (x |= (1 << bit)) /* 置位第bit位 */