Als Masterprojekt entwerfe ich ein einfaches Betriebssystem. Es wurde für die Ausführung im 16-Bit-Real-Modus auf einer x86-Architektur entwickelt. Idealerweise möchte ich dieses Betriebssystem in C ++ entwickeln und nur bei Bedarf Assembly verwenden. Bisher habe ich einen Bootloader in Assembly geschrieben, der einen Kernel lädt, der eine Mischung aus C ++ und asm ist. Meine Frage bezieht sich auf die Verwendung von C ++. Bis jetzt wurde es kompiliert und kann ausgeführt werden, aber ich habe keine dynamische Speicherzuordnung verwendet.
Wenn ich C verwenden würde, wäre es sinnvoll, Malloc-Funktionen zu schreiben, die die Speicherzuweisung übernehmen, aber in C ++ wird das neue Schlüsselwort verwendet. So...
Wie funktioniert 'neu' hinter den Kulissen, um Speicher zuzuweisen, und wie würde ich damit umgehen?
Und als Folge ...
Ist es sinnvoll, C ++ zu verwenden, um die Abstinenz auf höherer Ebene zu nutzen? Oder wäre es eher ein Kopfschmerz, es zu benutzen und sollte ich bei C bleiben?
Bitte begründen Sie, wenn Sie der Meinung sind, dass C ++ keine gute Wahl ist.
quelle