有没有办法用c#或Java编写Raspberry pi操作系统?
我是一名非常优秀的程序员,但我不想写汇编,因为这真的很难。
答案 0 :(得分:1)
有一次,Microsoft Research开发了一个操作系统Singularity,主要是用C#的变体编写的。即使对于那个项目,操作系统的某些核心部分也必须用C语言和汇编语言编写。虽然该项目早于Pi,但它可以让您了解哪些操作系统组件可以用C#编写。
答案 1 :(得分:0)
自下而上编写完整的操作系统显然很困难且耗时。您可以做的是使用任何公开可用的Linux发行版或Linux内核/源代码,并以您喜欢的方式进行修改。 要做到这一点,你需要掌握好C,因为Linux的源代码是用C语言编写的。 访问此链接我发现:
答案 2 :(得分:0)
虽然我不能说它是不可能的,但是从头开始编程操作系统除了C#之外什么都不可行。所有* C#编译器(例如.NET和Mono的编译器)都将C#编译成一个称为Common Intermediary Language(CIL)的中间代码。该语言在运行时被解释为字节码,然后由计算机执行。如果没有要解释它的操作系统,你就可以很好地运行时解释该代码。 (Java执行Java-esque伪字节码,由Java Runtime Environment解释,因此同样适用。)
您可以做的是将Windows 10 IoT Core OS安装到您的Raspberry Pi上。完成后,您将能够通过UWP在您的计算机上编程和运行C#程序。也许不是满足您需求的完美解决方案,但如果不从头开始编写自定义C#编译器/运行时,它就会尽可能接近。
*:有一两个第三方C#编译器可以编译成类似C的字节码,但是AFAIK它们被放弃了,高度实验性,支持一小部分语言,或者三者的任意组合。此外,使用这些编译器将禁止您使用任何.NET标准库,这意味着您将从头开始编写代码。