ここでこの素敵な画像を見ました。.net言語をサポートするすべてのコンパイラがソースコードをCILフォーマットに変換することを学びました。現在、Microsoftは.NET、すべてのオペレーティングシステム用のCLRを作成して、すべてのオペレーティングシステムを導入することはありません。次に、そのような中間コード形式とそのCILを実行するためのCLRを保持する理由。それは対処する頭痛ではありません。なぜマイクロソフトはこのように選んだのですか?
編集このちょっとしたアーキテクチャには価格があります。パフォーマンスが低下しますか?Javaはプラットフォームの独立性を維持するためにこれを行いますが、どのような理由で.NETがそれを行いますか?コンパイラのような単純なプレーンなCを保持しないのはなぜですか。また、新しい言語を追加する必要がある場合、どのような方法でもコンパイラーがコードをCILに変換する必要がありますが、唯一の違いはターゲット言語です。Tat's all。