我知道C语言及其超集允许您进行低级别的访问,但您可以使用其他语言。例如Visual Basic、C#甚至是Java?我只是好奇,因为自C语言诞生以来好像应该出现了更好的东西。
我知道C语言及其超集允许您进行低级别的访问,但您可以使用其他语言。例如Visual Basic、C#甚至是Java?我只是好奇,因为自C语言诞生以来好像应该出现了更好的东西。
我相信你可以,但是正如你所说,C语言被用于低级访问。然而,Visual Basic、Java和C#是为在框架下工作而设计的。
也许有一些工具可以将字节码(或C#中的IL)编译成当前处理器架构可以理解的机器级代码。但是我自己不知道有哪些工具。
有几种语言可以直接用来编写操作系统,例如C++、D和汇编语言。
如果你想使用像C#、Java或VB这样的语言,你需要一个运行时环境(在某些情况下包括JIT编译器)。这意味着你必须编写这些运行时,并且你不能在像Java这样的语言中完成。你必须用C/C++/Assembly这样的语言编写你的运行时代码,然后你的运行时可以加载你的Java/VB代码。
另一种选择是编写一个新的编译器,将C#/Java/VB编译成机器码或汇编语言。这样做是可行的,但是,在操作系统/执行级别上使用VB或Java等语言会遇到很多麻烦,因为它们不允许像C/C++那样进行内存访问,也不允许直接运行CPU指令。
汇编语言是答案!仅使用 C 无法生成漂亮的引导扇区,因为您没有可用的正确输出格式。但大多数操作系统认为 C 是大多数部分的好语言。
从所有的答案来看,似乎是可以的,但它不会像用C语言编写一个简单或容易。最有可能需要硬件支持,或者至少需要一些C或C++的“粘合代码”。