Linux內(nèi)核代碼,第一次看到這樣使用的宏
作者:廢物大師兄
晚上看內(nèi)核代碼,看到一個(gè)有意思的宏,我之前沒有見到過,當(dāng)然,肯定有人見到過,我寫出來是給那些沒有看到過的人看的。
我說是深夜,那就肯定是深夜

代碼是從內(nèi)核里面看到的



我們正常使用宏是這樣的
C語言、嵌入式中幾個(gè)非常實(shí)用的宏技巧
#include "stdio.h"
#define UART_RBR(base) (unsigned long)(base+0x01) /* Read only */
unsigned int mtk_uart_read_byte()
{
unsigned long base = 0x1231231;
return UART_RBR(base);
}
int main()
{
printf("%lx\n",mtk_uart_read_byte());
getchar();
return 0;
}
然后這個(gè)代碼寫成了這樣
#include "stdio.h"
#define UART_RBR (unsigned long)(base+0x01) /* Read only */
unsigned int mtk_uart_read_byte()
{
unsigned long base = 0x1231231;
return UART_RBR;
}
int main()
{
printf("%lx\n",mtk_uart_read_byte());
getchar();
return 0;
}

評(píng)論
圖片
表情


