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;



国产小众浏览器因屏蔽视频广告,被索赔100万(后续)

年轻人“不讲武德”:因看黄片上瘾,把网站和786名女主播起诉了

中国联通官网被发现含木马脚本,可向用户推广色情APP

张一鸣:每个逆袭的年轻人,都具备的底层能力




西[]


浏览 32
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报