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

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

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

代码是从内核里面看到的

我们正常使用宏是这样的

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记三

三、信息安全风险管理的风险评估<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />1、风险评估概述A、风险评估的概念风险评估是信息安全风险管理的第二步&#xff0c;针对确立的风险管理对象所面临的风险进行识别、分析和评价。请…

每日一题(41)—— 数组和链表的区别

数组和链表的区别&#xff1a; 数组&#xff1a;数据顺序存储&#xff0c;固定大小 连表&#xff1a;数据可以随机存储&#xff0c;大小可动态改变

flex柱状图和折线图的混合图使用

<?xml version"1.0"?> <mx:Application xmlns:mx"http://www.adobe.com/2006/mxml"> <mx:Script> <!--[CDATA[ import mx.collections.ArrayCollection; [Bindable] public var data1:ArrayCollectionnew ArrayCollection([{date:&…

给高通提个问题解决为啥那么久?

我第一次接触高通芯片是在中兴那&#xff0c;我们用的是一款很老的芯片&#xff0c;高通的文档非常多&#xff0c;资料非常丰富&#xff0c;如果有问题的话我一般都会从文档里面找答案。但是&#xff0c;但是&#xff0c;并不是所有的问题都是能自己搞定&#xff0c;比如遇到一…

BZOJ4503 两个串 【fft】

题目链接 BZOJ4503 题解 水水题。 和残缺的字符串那题几乎是一样的 同样转化为多项式 同样TLE 同样要手写一下复数才A #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<complex> #include<cmath> #i…

每日一题(42)—— 已知一个数组table,用一个宏定义,求出数据的元素个数

已知一个数组table&#xff0c;用一个宏定义&#xff0c;求出数据的元素个数。 // 总大小除以第一个元素的大小 #define TNTBL (sizeof(table)/sizeof(table[0]))

新公司上班第一天

大家好&#xff0c;文章转自我的朋友helloworld&#xff0c;文中的我并不是我&#xff0c;感谢大家阅读&#xff0c;转载&#xff0c;在看。Hello 各位小伙伴&#xff0c;周一愉快~今天是我到新公司上班的第一天&#xff0c;入职新公司&#xff0c;就好像刚刚谈恋爱一样&#x…

[CTO札记]从Cloud Computing看战略决策:想做、能做与可做 -

1&#xff09;想做--未来方向很多人已经意识到&#xff0c;Cloud Computing未来将是基础设施&#xff0c;扮演水、电、气的角色。可以说&#xff0c;Cloud Computing是很多互联网、电信大公司想做的事。因为&#xff1a;》不仅重要&#xff08;大公司都不想自己的命运掌握在别人…

JAVA基础学习之路(三)类定义及构造方法

类的定义及使用 一&#xff0c;类的定义 class Book {//定义一个类int price;//定义一个属性int num;public static int getMonney(int price, int num) {//定义一个方法return price*num;} }public class test2 {public static void main(String args[]) {Book monney new B…

电子火折子的电路原理

d▲本文要分析的电路看古装剧时&#xff0c;不时可以看到这样的场景&#xff1a;有人从怀里掏出一个“火折子”&#xff0c;对着吹一吹就点着了火&#xff0c;觉得很神奇&#xff1a;更加神奇的是&#xff0c;有才的电子工程师们&#xff0c;重新发明了火折子&#xff0c;也就是…

整理了二个基本的css库(高手请绕道)

前一阵公司唯一的前端开发人员走掉了&#xff0c;短期内也没人顶上来&#xff0c;所以切页面/js这种活儿只能咱自个儿揽过来了&#xff0c;花了大半天捣鼓了下css,整理了二个基本的css库&#xff0c;方便以后切页面&#xff0c;贴在这里备份 说明:p.css ---即public.css&#x…

每日一题(43)—— 数组越界

下面这个程序执行后会有什么错误或者效果: #define  MAX  255 int main() {unsigned char A[MAX],i;for (i0;i<MAX;i){A[i]i;} }解答&#xff1a;死循环加数组越界访问&#xff08;C/C不进行数组越界检查&#xff09; MAX255 数组A的下标范围为:0..MAX-1,这是其一.. 其…

P1133 教主的花园 (动态规划)

题目描述 教主有着一个环形的花园&#xff0c;他想在花园周围均匀地种上n棵树&#xff0c;但是教主花园的土壤很特别&#xff0c;每个位置适合种的树都不一样&#xff0c;一些树可能会因为不适合这个位置的土壤而损失观赏价值。 教主最喜欢 3种树&#xff0c;这3种树的高度分别…

如何快速构建嵌入式全栈知识体系?

嵌入式是一门交叉学科。一个嵌入式电子产品&#xff08;比如手机&#xff09;从底层到上层&#xff0c;一般会涉及半导体芯片、电子电路、计算机、操作系统、多媒体等不同专业领域的知识。很多从事嵌入式开发的朋友&#xff0c;通常来自不同的专业&#xff08;电子、电气、计算…

台湾高僧称游戏中杀人是罪业死后要下地狱

台湾著名高僧净空法师的一段谈因果报应的视频&#xff0c;近来被上传到网络上&#xff0c;引发网友特别是游戏玩家的极大反应。净空法师在这段视频中说&#xff0c;在电子游戏中杀人所造下 的罪业和杀真人是相同的&#xff0c;死后肯定会下阿鼻地狱&#xff0c;出来后也还要慢慢…

SpringBoot 封装返回类以及session 添加获取

1、创建返回类Result public class Result<T>{/*错误码*/private Integer code;/*提示信息 */private String msg;/*具体内容*/private T data;public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;}public String getMsg() {r…

每日一题(44)—— 请列举一个软件中时间换空间或者空间换时间的例子

请列举一个软件中时间换空间或者空间换时间的例子&#xff1a; --->时优 void swap(int a,int b) {int c;ca;ab;bc; } --->空优 void swap(int a,int b) {aab;ba-b;aa-b; }

迅雷的声音:摆脱视频产业的经济化困境

两个视频版权联盟之间的交锋日前到了白热化阶段&#xff0c;居然在深圳发生了两个发布会唱对台的戏剧化场面。迅雷发表声明“承诺推动视频市场正版化”&#xff0c;迅雷CEO甚至表示要去公证处跟对手“比谁的版权多”。在我看来&#xff0c;虽然去公证处大可不必&#xff0c;但至…

嵌入式系统开发者需要掌握什么技术?

大家好&#xff0c;我是小嵌&#xff0c;在知乎上看到这个问题&#xff0c;其中有一个答主的答案很经典&#xff0c;特此分享给大家。说实话&#xff0c;问题中嵌入式开发这个话题有点庞大&#xff0c;毕竟它涵盖的领域和范围很宽泛。作为一个在嵌入式软件开发方面工作了十多年…

做决定要趁早

之前接触的一个读者朋友&#xff0c;几个月前跟我咨询了问题&#xff0c;那时候因为有个决定困扰他&#xff0c;已经快抑郁了&#xff0c;不过到现在为止&#xff0c;还没有做决定。做决定这个事情&#xff0c;我希望不要拖太久&#xff0c;不要咨询太多无关的人&#xff0c;做…