我最近看了《30天自制操作系统》,对于汇编语言有点不懂,请问不用汇编,直接用C/C++可以做操作系统吗?
可以的,这样编程环境叫着Bare Metal Programming,比如gcc提供了-ffreestanding
编译选项,在这种环境下,所有的库函数都得自己写。
如果你对这感兴趣,你可以看看下面的课程资源
http://cs107e.github.io/guides/gcc/
理论上也是可以的,但是要找那种能编译成native形式的,再写入引导扇区。因为一般的C/C++编译器产生的是可执行文件。可是作为裸金属电脑,没有操作系统,自然也没有文件,没有文件系统,也没有用于装载可执行文件到内存并且执行代码的任何功能。所以存在先有鸡还是先有蛋的困境。