修士課程のプロジェクトとして、シンプルなオペレーティングシステムを設計しています。x86アーキテクチャで16ビットリアルモードで実行するように設計されています。理想的には、このOSをC ++で開発し、必要な場合にのみアセンブリを使用したいと考えています。これまでのところ、私はC ++とasmの混合であるカーネルをロードするアセンブリで書かれたブートローダーを持っています。私の質問は、C ++の使用に関するものです。現在のところ、コンパイルして実行できますが、動的メモリ割り当ては使用していません。
Cを使用している場合、メモリ割り当てを処理するmalloc関数を作成することは理にかなっていますが、C ++では新しいキーワードが使用されます。そう...
'new'はメモリを割り当てるために舞台裏でどのように機能し、これをどのように処理しますか?
そして当然の結果として...
C ++を使用して、より高いレベルの抽象化を利用することは理にかなっていますか?それともそれを使うのはもっと頭痛の種になるでしょうか?そして私はCを使い続けるべきですか?
C ++が適切でないと思われる場合は、根拠を提供してください。