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
微信扫描二维码,关注我的公众号
Linux内核代码,第一次看到这样使用的宏相关推荐
- linux内核源码只有makefile文件没有c文件,linux内核代码的编写初步以及makefile的配置...
在linux内核代码开发中,头文件不能包含标准C头文件,只能采用GNC标准 而且内核开发中没有main函数,只有init 和 exit ,这是每个内核模块中必须要包含的函数模块. 在GNU C标准中, ...
- Linux 内核代码行数达到 2700 万行量级
来自:技术让梦想更伟大 截止到2020年1月1日09:00:10,Linux内核Git源码树中的代码达到了2780万行. phoronix网站统计了Linux内核在进入2020年时的一些源码数据并作了 ...
- linux 内核编号含义_如何阅读linux内核代码?
阅读代码从来就是不可行的方法,有篇文章详细讲了这个事,很多人都觉得应该多读代码, 读好的代码,比如Donald Knuth. 但事实上, 只要简单让你描述一下最近读了什么代码,绝大多数人都说不上.文章 ...
- Linux内核代码风格
Linux内核代码风格 这是一个简短的文档,描述了linux内核的首选代码风格.代码风格是因人而异的,而且我不愿意把我的观点强加给任何人,不过这里所讲述的是我必须要维护的代码所遵守的风格,并且我也希望 ...
- 最小的linux内核代码,带你阅读linux内核源码:下载源码、编译内核并运行一个最小系统...
要学习linux内核,先要能够编译内核,还需要了解内核如何启动根文件系统.这样你才能在修改linux内核代码之后,完成验证的过程. 本文教你完成下列过程: 1.下载linux并编译linux内核源码 ...
- 谷歌喊话三星:别再搞 Linux 内核代码了,安卓安全也不保了
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 谷歌 Project Zero 团队表示,三星为阻止 Galaxy 手机遭攻击而修改了内核代码,但实际上引发了更多的安全漏洞. 谷歌安全 ...
- Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码
CSDN GitHub Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码 AderXCoding/system/tools/lxr 本作品采用知识共享署名-非商业性使用-相同方式共享 ...
- Linux内核代码华人贡献统计
http://www.remword.com/kps_result/ 这个站点对Linux内核代码补丁进行了详细的统计,感兴趣的童鞋可以看一下. 在这里给大家看一下2005年4月16日至今各个国家贡献 ...
- 用VSCODE看linux内核代码
前言 使用VSCODE在看内核代码时一定会出现如下几种情况: 跳转等半天 跳转出现错误 跳转时出现N多定义 目录结构繁杂,找文件困难等等 通过settings.json屏蔽的方式 该方式比较方便,但是 ...
最新文章
- 34岁,外企倒闭成功上岸大厂,50K,附面试秘籍
- 这款AI耳机可以主宰你的情绪,决定让你是哭还是笑
- python读取大文件-Python如何读取、拆分大文件
- Java中 Iterable 和 Iterator 的区别
- php redis 队列抢红包_php+redis实现消息队列
- 如何在博客内添加音乐
- 数组排序(冒泡、排序)
- SpringBoot 异常回滚 事务的使用___Springboot @Transactional 事务不回滚
- shell学习笔记二则:统计空间
- Spark编写UDF函数案例
- Socket、send/recv的循环发送和接收、缓冲区、阻塞
- 求二叉树中某结点的父结点(左右孩子表示法)
- 计算机网课课堂评价语,网络授课如何“高效”评价学生作业(附实用评语)
- 数字c语言代码大全,C语言代码大全
- 苹果应用商店反垄断案败诉,市值蒸发500多亿美元;脸书杠上了土耳其政府;Nutanix 扩展多云产品组合……...
- 怎么用level2行情接口获取A股数据?
- 音标对照表—kk,88
- 数据结构与程序设计——C++语言描述(Data Structures Program Design in C++) by Robert L.Kruse Alexander J.Ryb
- LEDE 源码下载与编译
- 华为路由器交换机命令汇总-持续更新