首页 文章详情

Linux内核代码,第一次看到这样使用的宏

嵌入式Linux | 283 2021-06-24 14:05 1 1 0
UniSMS (合一短信)

晚上看内核代码,看到一个有意思的宏,我之前没有见到过,当然,肯定有人见到过,我写出来是给那些没有看到过的人看的。




我说是深夜,那就肯定是深夜





代码是从内核里面看到的



我们正常使用宏是这样的


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;






推荐阅读:


专辑|Linux文章汇总
专辑|程序人生
专辑|C语言
我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

嵌入式Linux

微信扫描二维码,关注我的公众号


good-icon 1
favorite-icon 0
收藏
回复数量: 1
  • 看不懂

暂无评论~~
Ctrl+Enter