首页 > 其他 > 详细

《操作系统真象还原》ELF文件

时间:2020-01-17 00:30:43      阅读:105      评论:0      收藏:0      [点我收藏+]

  下面是第五章部分内容的收获。

用C语言编写内核

  一直以来我们都是用汇编语言编写程序的,但接下来我们或许很少用汇编语言编写代码了,大多数都是使用C语言。为什么要这样呢?书上的解释我看的不是很懂,只能结合书上谈谈我的见解,个人觉得有两个原因:

  汇编语言编写代码较高级语言来说还是麻烦很多的,毕竟大家试试就知道了,一句C语言代码,可能要几句汇编语言代码才能与之对应。那有人说CPU能执行C语言代码吗,当然不,CPU最终执行的是机器指令,也就是由0和1组成的机器指令。所以肯定需要一个东西将C语言转换为机器指令,这个东西就是编译器,我们平常用的GCC编译器就是用做这个用途。所以有了编译器,我们编写代码就方便了很多,简简单单几句C语言代码就能完成N句机器指令完成的工作,因此为何不用C语言呢。

  除了编写难度的问题,另一个点就是像执行lgdt,sgdt等一些特权指令,或者对eflag或者crX控制寄存器等具体某个寄存器进行读写,一般只能通过汇编语言才能做到,因为C语言并不会直接提供对偏底层数据(寄存器)的操作。而接下来的大多功能都不需要使用上面提到的功能,所以单靠C语言和编译器就能达到我们的需求了。

编写简单的内核

  占个位,明天再写

《操作系统真象还原》ELF文件

原文:https://www.cnblogs.com/thougr/p/12203650.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!