永发信息网

编写一个操作系统,应该先编写一个编译器?那编译器是用机器码写的吗?

答案:3  悬赏:10  手机版
解决时间 2021-03-07 11:38
  • 提问者网友:伴风望海
  • 2021-03-06 12:26
编写一个操作系统,应该先编写一个编译器?那编译器是用机器码写的吗?
最佳答案
  • 五星知识达人网友:深街酒徒
  • 2021-03-06 13:39
可以用C编写也可以用别的语言编写。

我在解释下吧,```看样子我没解释的详细。最原始的C语言编译器估计是用汇编语言写的,而汇编器估计是用机器码强写的,而机器码的规则是设计CPU架构的人规定的。而所有的理论基础,你就带仔细查看50,60年代的大牛了,图灵,冯诺依曼,knuth……之类的人给出理论上的证明和可行性,编译器的设计在knuth给出了LR(K)算法后才开始有了质的飞跃。

而现在的编译器实现的就简单了,你可以用C语言在写一个C编译器,来编译C程序,也可以写C++编译器来编译C++,假如你是用C写C编译器,那么这种貌似叫交叉编译`~~,大概就这样了。楼主真的想了解透彻自己去写个编译器就知道是怎么回事了
全部回答
  • 1楼网友:孤老序
  • 2021-03-06 15:13
你可以用C或者汇编 编写内核 内核出来了以后 你用任何语言编写GUI都不是问题
  • 2楼网友:躲不过心动
  • 2021-03-06 14:43
机器指令用cpu能直接识别并执行,它的表现形式是二进制编码。机器指令通常由操作码和操作数两部分组成,操作码指出该指令所要完成的操作,即指令的功能,操作数指出参与运算的对象,以及运算结果所存放的位置等。 把计算机看做一个时序电路,存储器相当于无数个锁存器,软件就存在于存储器中;时序电路中锁存器的内容会影响电路的行为,同样的道理,软件会影响计算机的行为。pc是总线结构的,存储器把程序指令送到总线上,cpu通过引脚从总线上读取指令,在内部解码后更改各个引脚的电平。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯