elf 结构体注解

    百万汉字注解 + 百篇博客分析 => 挖透鸿蒙内核源码
    https://my.oschina.net/weharmony
上级 ecd51b29
......@@ -2,17 +2,14 @@
[百万汉字注解 >> 精读鸿蒙源码,中文注解分析, 深挖地基工程,大脑永久记忆,四大码仓每日同步更新<](https://gitee.com/weharmony/kernel_liteos_a_note)[ gitee ](https://gitee.com/weharmony/kernel_liteos_a_note)[| github ](https://github.com/kuangyufei/kernel_liteos_a_note)[| csdn ](https://codechina.csdn.net/kuangyufei/kernel_liteos_a_note)[| coding ](https://weharmony.coding.net/public/harmony/kernel_liteos_a_note/git/files)[>]()
[百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,主流站点定期更新中<](https://my.oschina.net/weharmony)[ oschina ](https://my.oschina.net/weharmony)[ | 51cto ](https://harmonyos.51cto.com/column/34)[| csdn ](https://blog.csdn.net/kuangyufei)[| harmony ](https://weharmony.gitee.io/)[>]()
---
[百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,主流站点定期更新中<](https://my.oschina.net/weharmony)[ osc ](https://my.oschina.net/weharmony)[ | 51cto ](https://harmonyos.51cto.com/column/34)[| csdn ](https://blog.csdn.net/kuangyufei)[| harmony ](https://weharmony.gitee.io/)[>]()
## **百万汉字注解**
**[kernel\_liteos\_a_note](https://gitee.com/weharmony/kernel_liteos_a_note)** 是在鸿蒙官方开源项目 **[kernel\_liteos\_a](https://gitee.com/openharmony/kernel_liteos_a)** 基础上给源码加上中文注解的版本.
### **同步官方源码历史**
* 后续将每月同步一次
* 每月同步一次
* 2021/4/21 -- 官方优化了很多之前吐槽的地方,点赞鸿蒙的效率
* 2020/9/16 -- 中文注解版起点
......@@ -64,121 +61,120 @@
## 百篇博客分析
### **鸿蒙源码百篇博客 往期回顾**
* 在给 [鸿蒙内核源码加中文注释](https://gitee.com/weharmony/kernel_liteos_a_note) 过程中,整理出以下文章.内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感.百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思.更希望让内核变得栩栩如生,倍感亲切.确实有难度,自不量力,但已经出发,回头已是不可能的了.:P
在给 [鸿蒙内核源码加中文注释](https://gitee.com/weharmony/kernel_liteos_a_note) 过程中,整理出以下文章.内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感.百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思.更希望让内核变得栩栩如生,倍感亲切.确实有难度,自不量力,但已经出发,回头已是不可能的了.:P
* 写文章比写代码累多了,越深入研究,越觉得没写好,所以文章和注解会反复修正, .xx代表修改的次数, 将持续完善源码注解和文档内容,精雕细琢,言简意赅, 尽全力打磨精品内容.
写文章比写代码累多了,越深入研究,越觉得没写好,所以文章和注解会反复修正, .xx代表修改的次数, 将持续完善源码注解和文档内容,精雕细琢,言简意赅, 尽全力打磨精品内容.
* [v51.xx (ELF反汇编篇) | 程序的入口函数并不是main ](https://my.oschina.net/weharmony/blog/5030288) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/116097977) [ | 51cto ](https://harmonyos.51cto.com/posts/4124)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v49.xx (信号消费篇) | 用户栈到内核栈的两次切换 ](https://my.oschina.net/weharmony/blog/5027224) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115958293) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/49_信号消费篇.html)[>]()**
* [v50.xx (编译环境篇) | 编译鸿蒙看这篇或许真的够了 ](https://my.oschina.net/weharmony/blog/5028613) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/116042551) [ | 51cto ](https://harmonyos.51cto.com/posts/4107)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v48.xx (信号生产篇) | 如何安装和发送信号? ](https://my.oschina.net/weharmony/blog/5022149) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115768099) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/48_信号分发篇.html)[>]()**
* [v49.xx (信号消费篇) | 两次切换用户栈和内核栈 ](https://my.oschina.net/weharmony/blog/5027224) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115958293) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v47.xx (进程回收篇) | 进程在临终前如何向老祖宗托孤 ](https://my.oschina.net/weharmony/blog/5017716) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115672752) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/47_进程回收篇.html)[>]()**
* [v48.xx (信号生产篇) | 如何安装和发送异步信号 ](https://my.oschina.net/weharmony/blog/5022149) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115768099) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v46.xx (特殊进程篇) | 龙生龙,凤生凤,老鼠生儿会打洞 ](https://my.oschina.net/weharmony/blog/5014444) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115556505) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/46_特殊进程篇.html)[>]()**
* [v47.xx (进程回收篇) | 进程在临终前如何向老祖宗托孤 ](https://my.oschina.net/weharmony/blog/5017716) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115672752) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v45.xx (fork篇) | fork是如何做到调用一次,返回两次的 ? ](https://my.oschina.net/weharmony/blog/5010301) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115467961) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/45_fork篇.html)[>]()**
* [v46.xx (特殊进程篇) | 龙生龙,凤生凤,老鼠生儿会打洞 ](https://my.oschina.net/weharmony/blog/5014444) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115556505) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v44.xx (中断管理篇) | 硬中断的实现<>观察者模式 ](https://my.oschina.net/weharmony/blog/4995800) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115130055) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/44_中断管理篇.html)[>]()**
* [v45.xx (fork篇) | fork是如何做到调用一次,返回两次的 ](https://my.oschina.net/weharmony/blog/5010301) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115467961) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v43.xx (中断概念篇) | 外人眼中权势滔天的当红海公公 ](https://my.oschina.net/weharmony/blog/4992750) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115014442) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/43_中断概念篇.html)[>]()**
* [v44.xx (中断管理篇) | 硬中断的实现像观察者模式 ](https://my.oschina.net/weharmony/blog/4995800) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115130055) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v42.xx (中断切换篇) | 中断切换到底在切换什么?](https://my.oschina.net/weharmony/blog/4990948) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114988891) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/42_中断切换篇.html)[>]()**
* [v43.xx (中断概念篇) | 外人眼中权势滔天的当红海公公 ](https://my.oschina.net/weharmony/blog/4992750) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/115014442) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v41.xx (任务切换篇) | 汇编告诉任务到底在切换什么 ](https://my.oschina.net/weharmony/blog/4988628) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114890180) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/41_任务切换篇.html)[>]()**
* [v42.xx (中断切换篇) | 中断切换又在切换什么](https://my.oschina.net/weharmony/blog/4990948) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114988891) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v40.xx (汇编汇总篇) | 所有的汇编代码都在这里 ](https://my.oschina.net/weharmony/blog/4977924) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114597179) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/40_汇编汇总篇.html)[>]()**
* [v41.xx (任务切换篇) | 汇编告诉任务到底在切换什么 ](https://my.oschina.net/weharmony/blog/4988628) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114890180) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v39.xx (异常接管篇) | 社会很单纯,复杂的是人 ](https://my.oschina.net/weharmony/blog/4973016) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114438285) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/39_异常接管篇.html)[>]()**
* [v40.xx (汇编汇总篇) | 所有的汇编代码都在呢 ](https://my.oschina.net/weharmony/blog/4977924) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114597179) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v38.xx (寄存器篇) | arm所有寄存器一网打尽,不再神秘 ](https://my.oschina.net/weharmony/blog/4969487) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114326994) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/38_寄存器篇.html)[>]()**
* [v39.xx (异常接管篇) | 社会很单纯,复杂的是人 ](https://my.oschina.net/weharmony/blog/4973016) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114438285) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v37.xx (系统调用篇) | 系统调用到底经历了什么 ](https://my.oschina.net/weharmony/blog/4967613) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114285166) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/37_系统调用篇.html)[>]()**
* [v38.xx (寄存器篇) | 看完再也不对寄存器怕怕 ](https://my.oschina.net/weharmony/blog/4969487) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114326994) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v36.xx (工作模式篇) | cpu是韦小宝,有哪七个老婆? ](https://my.oschina.net/weharmony/blog/4965052) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114168567) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/36_工作模式篇.html)[>]()**
* [v37.xx (系统调用篇) | 系统调用到底经历了什么 ](https://my.oschina.net/weharmony/blog/4967613) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114285166) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v35.xx (时间管理篇) | tick是操作系统的基本时间单位 ](https://my.oschina.net/weharmony/blog/4956163) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113867785) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/35_时间管理篇.html)[>]()**
* [v36.xx (工作模式篇) | cpu是韦小宝,有哪七个老婆 ](https://my.oschina.net/weharmony/blog/4965052) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/114168567) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v34.xx (原子操作篇) | 是谁在为原子操作保驾护航? ](https://my.oschina.net/weharmony/blog/4955290) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113850603) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/34_原子操作篇.html)[>]()**
* [v35.xx (时间管理篇) | tick是操作系统的基本时间单位 ](https://my.oschina.net/weharmony/blog/4956163) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113867785) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v33.xx (消息队列篇) | 进程间如何异步解耦传递大数据 ? ](https://my.oschina.net/weharmony/blog/4952961) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113815355) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/33_消息队列篇.html)[>]()**
* [v34.xx (原子操作篇) | 是谁在为原子操作保驾护航 ](https://my.oschina.net/weharmony/blog/4955290) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113850603) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v32.xx (cpu篇) | 整个内核就是一个死循环 ](https://my.oschina.net/weharmony/blog/4952034) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113782749) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/32_CPU篇.html)[>]()**
* [v33.xx (消息队列篇) | 进程间如何异步解耦传递大数据 ](https://my.oschina.net/weharmony/blog/4952961) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113815355) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v31.xx (定时器篇) | 内核最高优先级任务是谁? ](https://my.oschina.net/weharmony/blog/4951625) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113774260) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/31_定时器机制篇.html)[>]()**
* [v32.xx (cpu篇) | 整个内核就是一个死循环 ](https://my.oschina.net/weharmony/blog/4952034) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113782749) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v30.xx (事件控制篇) | 任务间多对多的同步方案 ](https://my.oschina.net/weharmony/blog/4950956) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113759481) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/30_事件控制篇.html)[>]()**
* [v31.xx (定时器篇) | 内核最高优先级任务是谁 ](https://my.oschina.net/weharmony/blog/4951625) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113774260) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v29.xx (信号量篇) | 信号量解决任务同步问题 ](https://my.oschina.net/weharmony/blog/4949720) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113744267) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/29_信号量篇.html)[>]()**
* [v30.xx (事件控制篇) | 任务间多对多的同步方案 ](https://my.oschina.net/weharmony/blog/4950956) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113759481) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v28.xx (进程通讯篇) | 进程间通讯有哪九大方式? ](https://my.oschina.net/weharmony/blog/4947398) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113700751) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/28_进程通讯篇.html)[>]()**
* [v29.xx (信号量篇) | 信号量解决任务的什么问题 ](https://my.oschina.net/weharmony/blog/4949720) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113744267) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v27.xx (互斥锁篇) | 互斥锁比自旋锁可丰满许多 ](https://my.oschina.net/weharmony/blog/4945465) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113660357) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/27_互斥锁篇.html)[>]()**
* [v28.xx (进程通讯篇) | 九种进程间通讯方式速揽 ](https://my.oschina.net/weharmony/blog/4947398) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113700751) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v26.xx (自旋锁篇) | 真的好想为自旋锁立贞节牌坊! ](https://my.oschina.net/weharmony/blog/4944129) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113616250) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/26_自旋锁篇.html)[>]()**
* [v27.xx (互斥锁篇) | 比自旋锁丰满的互斥锁 ](https://my.oschina.net/weharmony/blog/4945465) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113660357) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v25.xx (并发并行篇) | 怎么记住并发并行的区别? ](https://my.oschina.net/u/3751245/blog/4940329) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113516222) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/25_并发并行篇.html)[>]()**
* [v26.xx (自旋锁篇) | 自旋锁当立贞节牌坊 ](https://my.oschina.net/weharmony/blog/4944129) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113616250) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v24.xx (进程概念篇) | 进程在管理哪些资源? ](https://my.oschina.net/u/3751245/blog/4937521) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113395872) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/24_进程概念篇.html)[>]()**
* [v25.xx (并发并行篇) | 两个字永远记住二者区别 ](https://my.oschina.net/u/3751245/blog/4940329) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113516222) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v23.xx (汇编传参篇) | 汇编如何传递复杂的参数? ](https://my.oschina.net/u/3751245/blog/4927892) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113265990) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/23_汇编传参篇.html)[>]()**
* [v24.xx (进程概念篇) | 进程在管理哪些资源 ](https://my.oschina.net/u/3751245/blog/4937521) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113395872) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v22.xx (汇编基础篇) | cpu在哪里打卡上班? ](https://my.oschina.net/u/3751245/blog/4920361) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112986628) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/22_汇编基础篇.html)[>]()**
* [v23.xx (汇编传参篇) | 汇编如何传递复杂的参数 ](https://my.oschina.net/u/3751245/blog/4927892) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/113265990) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v21.xx (线程概念篇) | 是谁在不断的折腾cpu? ](https://my.oschina.net/u/3751245/blog/4915543) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112870193) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/21_线程概念篇.html)[>]()**
* [v22.xx (汇编基础篇) | cpu在哪里打卡上班 ](https://my.oschina.net/u/3751245/blog/4920361) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112986628) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v20.xx (用栈方式篇) | 栈是构建底层运行的基础 ](https://my.oschina.net/u/3751245/blog/4893388) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112534331) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/20_用栈方式篇.html)[>]()**
* [v21.xx (线程概念篇) | 是谁在不断的折腾cpu ](https://my.oschina.net/u/3751245/blog/4915543) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112870193) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v19.xx (位图管理篇) | 为何进程和线程优先级都是32个? ](https://my.oschina.net/u/3751245/blog/4888467) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112394982) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/19_位图管理篇.html)[>]()**
* [v20.xx (用栈方式篇) | 栈是构建底层运行的基础 ](https://my.oschina.net/u/3751245/blog/4893388) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112534331) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v18.xx (源码结构篇) | 梳理内核源文件的作用和含义 ](https://my.oschina.net/u/3751245/blog/4869137) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/111938348) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/18_源码结构篇.html)[>]()**
* [v19.xx (位图管理篇) | 为何进程和线程优先级都是32个 ](https://my.oschina.net/u/3751245/blog/4888467) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/112394982) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v17.xx (物理内存篇) | 这样记伙伴算法永远不会忘 ](https://my.oschina.net/u/3751245/blog/4842408) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/111765600) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/17_物理内存篇.html)[>]()**
* [v18.xx (源码结构篇) | 梳理内核源文件的作用和含义 ](https://my.oschina.net/u/3751245/blog/4869137) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/111938348) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v16.xx (内存规则篇) | 内存管理到底在管什么? ](https://my.oschina.net/u/3751245/blog/4698384) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/109437223) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/16_内存规则篇.html)[>]()**
* [v17.xx (物理内存篇) | 怎么管理物理内存 ](https://my.oschina.net/u/3751245/blog/4842408) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/111765600) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v15.xx (内存映射篇) | 什么是内存最重要的实现基础 ? ](https://my.oschina.net/u/3751245/blog/4694841) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/109032636) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/15_内存映射篇.html)[>]()**
* [v16.xx (内存规则篇) | 内存管理到底在管什么 ](https://my.oschina.net/u/3751245/blog/4698384) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/109437223) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v14.xx (内存汇编篇) | 什么是虚拟内存的实现基础? ](https://my.oschina.net/u/3751245/blog/4692156) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108994081) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/14_内存汇编篇.html)[>]()**
* [v15.xx (内存映射篇) | 虚拟内存虚在哪里 ](https://my.oschina.net/u/3751245/blog/4694841) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/109032636) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v13.xx (源码注释篇) | 鸿蒙必须成功,也必然成功 ](https://my.oschina.net/u/3751245/blog/4686747) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/109251754) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/13_源码注释篇.html)[>]()**
* [v14.xx (内存汇编篇) | 什么是虚拟内存的实现基础 ](https://my.oschina.net/u/3751245/blog/4692156) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108994081) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v12.xx (内存管理篇) | 虚拟内存全景图是怎样的? ](https://my.oschina.net/u/3751245/blog/4652284) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108821442) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/12_内存管理篇.html)[>]()**
* [v13.xx (源码注释篇) | 鸿蒙必须成功,也必然成功 ](https://my.oschina.net/u/3751245/blog/4686747) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/109251754) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v11.xx (内存分配篇) | 内存有哪些分配方式? ](https://my.oschina.net/u/3751245/blog/4646802) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108989906) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/11_内存分配篇.html)[>]()**
* [v12.xx (内存管理篇) | 虚拟内存全景图是怎样的 ](https://my.oschina.net/u/3751245/blog/4652284) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108821442) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v10.xx (内存主奴篇) | 紫禁城的主子和奴才如何相处? ](https://my.oschina.net/u/3751245/blog/4646802) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108723672) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/10_内存主奴篇.html)[>]()**
* [v11.xx (内存分配篇) | 内存有哪些分配方式 ](https://my.oschina.net/u/3751245/blog/4646802) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108989906) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v09.xx (调度故事篇) | 用故事说内核调度过程 ](https://my.oschina.net/u/3751245/blog/4634668) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108745174) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/09_调度故事篇.html)[>]()**
* [v10.xx (内存主奴篇) | 紫禁城的主子和奴才如何相处 ](https://my.oschina.net/u/3751245/blog/4646802) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108723672) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v08.xx (总目录) | 百万汉字注解 百篇博客分析 ](https://my.oschina.net/weharmony) **[<]()[ csdn](https://blog.csdn.net/kuangyufei) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/08_总目录.html)[>]()**
* [v09.xx (调度故事篇) | 用故事说内核调度过程 ](https://my.oschina.net/u/3751245/blog/4634668) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108745174) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v07.xx (调度机制篇) | 任务是如何被调度执行的? ](https://my.oschina.net/u/3751245/blog/4623040) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108705968) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/07_调度机制篇.html)[>]()**
* [v08.xx (总目录) | 百万汉字注解 百篇博客分析 ](https://my.oschina.net/weharmony/blog/4626852) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108727970) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v06.xx (调度队列篇) | 内核有多少个调度队列? ](https://my.oschina.net/u/3751245/blog/4606916) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108626671) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/06_调度队列篇.html)[>]()**
* [v07.xx (调度机制篇) | 任务是如何被调度执行的 ](https://my.oschina.net/u/3751245/blog/4623040) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108705968) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v05.xx (任务管理篇) | 任务池是如何管理的? ](https://my.oschina.net/u/3751245/blog/4603919) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108661248) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/05_任务管理篇.html)[>]()**
* [v06.xx (调度队列篇) | 内核有多少个调度队列 ](https://my.oschina.net/u/3751245/blog/4606916) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108626671) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v04.xx (任务调度篇) | 任务是内核调度的单元 ](https://my.oschina.net/weharmony/blog/4595539) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108621428) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/04_任务调度篇.html)[>]()**
* [v05.xx (任务管理篇) | 任务池是如何管理的 ](https://my.oschina.net/u/3751245/blog/4603919) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108661248) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v03.xx (时钟任务篇) | 调度最大的源动力来自哪里? ](https://my.oschina.net/u/3751245/blog/4574493) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108603468) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/03_时钟任务篇.html)[>]()**
* [v04.xx (任务调度篇) | 任务是内核调度的单元 ](https://my.oschina.net/weharmony/blog/4595539) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108621428) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v02.xx (进程管理篇) | 进程是内核资源管理单元 ](https://my.oschina.net/u/3751245/blog/4574429) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108595941) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/02_进程管理篇.html)[>]()**
* [v03.xx (时钟任务篇) | 谁是触发调度的最大动力 ](https://my.oschina.net/u/3751245/blog/4574493) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108603468) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [v01.xx (双向链表篇) | 谁是内核最重要结构体? ](https://my.oschina.net/u/3751245/blog/4572304) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108585659) [ | 51cto ](https://harmonyos.51cto.com/column/34)[ | harmony ](https://weharmony.gitee.io/01_双向链表篇.html)[>]()**
* [v02.xx (进程管理篇) | 进程是内核资源管理单元 ](https://my.oschina.net/u/3751245/blog/4574429) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108595941) [ | 51cto ](https://harmonyos.51cto.com/posts/3926)[ | osc ](https://my.oschina.net/weharmony)[>]()**
* [进入 >> oschina ](https://my.oschina.net/weharmony)[| csdn ](https://blog.csdn.net/kuangyufei)[| 51cto ](https://harmonyos.51cto.com/column/34)[| 掘金 ](https://juejin.cn/user/756888642000808/posts)[| harmony ](https://weharmony.gitee.io/)
* [v01.xx (双向链表篇) | 谁是内核最重要结构体 ](https://my.oschina.net/u/3751245/blog/4572304) **[<]()[ csdn](https://blog.csdn.net/kuangyufei/article/details/108585659) [ | 51cto ](https://harmonyos.51cto.com/posts/3925)[ | osc ](https://my.oschina.net/weharmony)[>]()**
### 主流站点输出
感谢 `oschina``csdn``华为开发者论坛`, `51cto`, `掘金`,`电子发烧友`,以及其他小伙伴对系列文章的转载和推荐。
[oschina |](https://my.oschina.net/weharmony)[ csdn |](https://blog.csdn.net/kuangyufei)[ 51cto |](https://harmonyos.51cto.com/column/34)[ 简书 |](https://www.jianshu.com/u/f7f5bf861106)[ 掘金 |](https://harmonyos.51cto.com/column/34)[ 华为开发者论坛 |](https://developer.huawei.com/consumer/cn/forum/)[ 头条号 |](https://gitee.com/weharmony/docs/raw/master/pic/other/tt.png)[ 公众号 |](https://gitee.com/weharmony/docs/raw/master/pic/other/so1so.png)[ weharmony.gitee.io |](https://weharmony.gitee.io)[ weharmony.github.io |](https://weharmony.github.io)
[进入 >> osc ](https://my.oschina.net/weharmony)[| csdn ](https://blog.csdn.net/kuangyufei)[| 51cto ](https://harmonyos.51cto.com/column/34)[| 掘金 ](https://juejin.cn/user/756888642000808/posts)[| 公众号 ](https://gitee.com/weharmony/docs/raw/master/pic/other/so1so.png)[| 头条号 ](https://gitee.com/weharmony/docs/raw/master/pic/other/tt.png)[| gitee ](https://weharmony.gitee.io/)[| github ](https://weharmony.github.io/)
## **Fork Me**
注解几乎占用了所有的空闲时间,每天都会更新,每天都有新感悟,一行行源码在不断的刷新和拓展对内核知识的认知边界. 对已经关注和fork的同学请及时同步最新的注解内容. 内核知识点体量实在太过巨大,跟软件一样,会存在bug,但会反复修正完善,力求言简意赅,词达本意.
注解几乎占用了所有的空闲时间,每天都会更新,每天都有新感悟,一行行源码在不断的刷新和拓展对内核知识的认知边界. 对已经关注和fork的同学请及时同步最新的注解内容. 内核知识点体量实在太过巨大,跟软件一样,会存在bug,但会反复Debug.
### **有哪些特殊的记号**
......@@ -209,5 +205,3 @@
* [![鸿蒙内核源码分析](https://gitee.com/weharmony/docs/raw/master/pic/other/so1so.png)](https://gitee.com/weharmony/docs/raw/master/pic/other/so1so.png)
* 各大站点搜 **「鸿蒙内核源码分析」**.欢迎转载,请注明出处.
* [进入 >> oschina ](https://my.oschina.net/weharmony)[| csdn ](https://blog.csdn.net/kuangyufei)[| 51cto ](https://harmonyos.51cto.com/column/34)[| 简书 ](https://www.jianshu.com/u/f7f5bf861106)[| 掘金 ](https://juejin.cn/user/756888642000808)[| harmony ](https://weharmony.gitee.io/)
\ No newline at end of file
......@@ -301,7 +301,7 @@ extern SPIN_LOCK_S g_taskSpin;//任务自旋锁
#define OS_TCB_NAME_LEN 32
typedef struct {
VOID *stackPointer; /**< Task stack pointer */ //栈指针SP,任务当前执行栈的位置(用户栈和内核栈切换)
VOID *stackPointer; /**< Task stack pointer */ //内核栈指针位置(SP)
UINT16 taskStatus; /**< Task status */ //各种状态标签,可以拥有多种标签,按位标识
UINT16 priority; /**< Task priority */ //任务优先级[0:31],默认是31级
UINT16 policy; //任务的调度方式(三种 .. LOS_SCHED_RR )
......
......@@ -44,22 +44,23 @@ extern "C" {
#define LD_EI_NIDENT 16
typedef struct {
UINT8 elfIdent[LD_EI_NIDENT]; /* Magic number and other info */
UINT16 elfType; /* Object file type */
UINT16 elfMachine; /* Architecture */
UINT32 elfVersion; /* Object file version */
UINT32 elfEntry; /* Entry point virtual address */
UINT32 elfPhoff; /* Program header table file offset */
UINT32 elfShoff; /* Section header table file offset */
UINT32 elfFlags; /* Processor-specific flags */
UINT16 elfHeadSize; /* ELF header size in bytes */
UINT16 elfPhEntSize; /* Program header table entry size */
UINT16 elfPhNum; /* Program header table entry count */
UINT16 elfShEntSize; /* Section header table entry size */
UINT16 elfShNum; /* Section header table entry count */
UINT16 elfShStrIndex; /* Section header string table index */
UINT8 elfIdent[LD_EI_NIDENT]; /* Magic number and other info *///含前16个字节,又可细分成class、data、version等字段,具体含义不用太关心,只需知道前4个字节点包含”ELF”关键字,这样可以判断当前文件是否是ELF格式;
UINT16 elfType; /* Object file type *///表示具体ELF类型,可重定位文件/可执行文件/共享库文件,显然这里是一个可执行文件;e_machine表示执行的机器平台,这里是x86_64;
UINT16 elfMachine; /* Architecture *///表示cpu架构
UINT32 elfVersion; /* Object file version *///表示文件版本号,这里的1表示初始版本号;
UINT32 elfEntry; /* Entry point virtual address *///对应”Entry point address”,程序入口函数地址,通过进程虚拟地址空间地址(0x400440)表达;
UINT32 elfPhoff; /* Program header table file offset *///对应“Start of program headers”,表示program header table在文件内的偏移位置,这里是从第64号字节(假设初始为0号字节)开始;
UINT32 elfShoff; /* Section header table file offset *///对应”Start of section headers”,表示section header table在文件内的偏移位置,这里是从第4472号字节开始,靠近文件尾部;
UINT32 elfFlags; /* Processor-specific flags *///表示与CPU处理器架构相关的信息,这里为零;
UINT16 elfHeadSize; /* ELF header size in bytes *///对应”Size of this header”,表示本ELF header自身的长度,这里为64个字节,回看前面的e_phoff为64,说明ELF header后紧跟着program header table;
UINT16 elfPhEntSize; /* Program header table entry size *///对应“Size of program headers”,表示program header table中每个元素的大小,这里为56个字节;
UINT16 elfPhNum; /* Program header table entry count *///对应”Number of program headers”,表示program header table中元素个数,这里为9个;
UINT16 elfShEntSize; /* Section header table entry size *///e_shentsize 对应”Size of section headers”,表示section header table中每个元素的大小,这里为64个字节;
UINT16 elfShNum; /* Section header table entry count *///e_shnum 对应”Number of section headers”,表示section header table中元素的个数,这里为30个;
UINT16 elfShStrIndex; /* Section header string table index *///e_shstrndx 对应”Section header string table index”,表示描述各section字符名称的string table在section header table中的下标,详见后文对string table的介绍。
} LDElf32Ehdr;
typedef struct {
UINT8 elfIdent[LD_EI_NIDENT]; /* Magic number and other info */
UINT16 elfType; /* Object file type */
......@@ -220,18 +221,19 @@ typedef struct {
/* Section header */
typedef struct {
UINT32 shName; /* Section name (string tbl index) */
UINT32 shType; /* Section type */
UINT32 shFlags; /* Section flags */
UINT32 shAddr; /* Section virtual addr at execution */
UINT32 shOffset; /* Section file offset */
UINT32 shSize; /* Section size in bytes */
UINT32 shLink; /* Link to another section */
UINT32 shInfo; /* Additional section information */
UINT32 shAddrAlign; /* Section alignment */
UINT32 shEntSize; /* Entry size if section holds table */
UINT32 shName; /* Section name (string tbl index) *///表示每个区的名字
UINT32 shType; /* Section type *///表示每个区的功能
UINT32 shFlags; /* Section flags *///表示每个区的属性
UINT32 shAddr; /* Section virtual addr at execution *///表示每个区的进程映射地址
UINT32 shOffset; /* Section file offset *///表示文件内偏移
UINT32 shSize; /* Section size in bytes *///表示区的大小
UINT32 shLink; /* Link to another section *///Link和Info记录不同类型区的相关信息
UINT32 shInfo; /* Additional section information *///Link和Info记录不同类型区的相关信息
UINT32 shAddrAlign; /* Section alignment *///表示区的对齐单位
UINT32 shEntSize; /* Entry size if section holds table *///表示区中每个元素的大小(如果该区为一个数组的话,否则该值为0)
} LDElf32Shdr;
typedef struct {
UINT32 shName; /* Section name (string tbl index) */
UINT32 shType; /* Section type */
......@@ -278,14 +280,15 @@ typedef struct {
/* Symbol table */
typedef struct {
UINT32 stName; /* Symbol table name (string tbl index) */
UINT32 stValue; /* Symbol table value */
UINT32 stSize; /* Symbol table size */
UINT8 stInfo; /* Symbol table type and binding */
UINT32 stName; /* Symbol table name (string tbl index) *///表示符号对应的源码字符串,为对应String Table中的索引
UINT32 stValue; /* Symbol table value *///表示符号对应的数值
UINT32 stSize; /* Symbol table size *///表示符号对应数值的空间占用大小
UINT8 stInfo; /* Symbol table type and binding *///表示符号的相关信息 如符号类型(变量符号、函数符号)
UINT8 stOther; /* Symbol table visibility */
UINT16 stShndx; /* Section table index */
UINT16 stShndx; /* Section table index *///表示与该符号相关的区的索引,例如函数符号与对应的代码区相关
} LDElf32Sym;
typedef struct {
UINT32 stName; /* Symbol table name (string tbl index) */
UINT8 stInfo; /* Symbol table type and binding */
......
git add -A
git commit -m '注解0号进程
git commit -m 'elf 结构体注解
百万汉字注解 + 百篇博客分析 => 挖透鸿蒙内核源码
https://my.oschina.net/weharmony
'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册