Linux内核代码,第一次看到这样使用的宏
程序员大白
共 1510字,需浏览 4分钟
·
2021-07-08 00:46
点击上方“程序员大白”,选择“星标”公众号
重磅干货,第一时间送达
作者:废物大师兄
晚上看内核代码,看到一个有意思的宏,我之前没有见到过,当然,肯定有人见到过,我写出来是给那些没有看到过的人看的。
我说是深夜,那就肯定是深夜
代码是从内核里面看到的
我们正常使用宏是这样的
C语言、嵌入式中几个非常实用的宏技巧
#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;
}
然后这个代码写成了这样
#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;
}
推荐阅读
关于程序员大白
程序员大白是一群哈工大,东北大学,西湖大学和上海交通大学的硕士博士运营维护的号,大家乐于分享高质量文章,喜欢总结知识,欢迎关注[程序员大白],大家一起学习进步!
评论