私は多くのプログラミング言語に出会いました。それぞれに魅力がありましたが、嫌いなところもいくつかありました。したがって、私は独自のプログラミング言語を設計しており、気に入ったものを他の言語で実装するだけです。
ほとんどが憶測ではありますが、いくつかの調査を行った後、プロセッサとオペレーティング システムがどのように機能するかをある程度理解していると思います。命令ポインターといくつかの (仮想) レジスターを使用して作成したカスタム形式の命令を読み取り、解釈するインタープリターを作成することができ、今のところその形式にコードをコンパイルしています。
ただし、コンパイラがバイナリを生成してバイナリを生成し、それを解釈してから解釈するようになったため、これはばかげているように思えます。現在の方法にはいくつかの利点がありますが (1 回コンパイルするだけでほぼどこでも実行できるなど)、オペレーティング システムが読み取ることができるコードを実際に生成するコンパイラを作成するときに、どこから始めればよいか知りたいです。
PE と ELF についていくつか聞いたことがありますが、これらの形式を低レベルで説明しているものは見つかりませんでした。ほとんどのものは、あらゆる種類のものを実行するために使用する優れた概念に関するもののようですが、最初に 16 ビットの ...、次に 20 ビットの ...、次に 28 の . ..、次に再配置テーブル、次に...を意味するいくつかの指示...など。
また、C++ を使用しています。