私はC# . net
プログラミングを始めたばかりです。私が読んだ本にはFCL
、多くのタスクに役立つ多くのクラスがあると書かれています。
私の質問は、Microsoft がさまざまな .net 準拠言語用にさまざまなバージョンの FCL を作成したということですか、それともMSIL
FCL のコピーが 1 つだけ必要になるように FCL (Microsoft 中間言語) が作成されているということですか?
いいえ、実装は 1 つだけです。.NET の強力な設計目標は、フレームワークの実装を多くの言語で利用できるようにすることでした。言語に依存しない形式で、.NET アセンブリ、メタデータ、およびコードのコンテンツをエンコードすることによって適用されます。CLI 仕様Ecma-335で説明されています。すべての .NET コンパイラはその標準に準拠しているため、ある言語で記述したコードを他の .NET 言語コンパイラで使用できます。
また、ジャストインタイム コンパイラによって実現されるプラットフォーム非依存性もあり、アセンブリ内の MSIL をマシンが使用するプロセッサの種類に一致するマシン コードに変換します。言語に依存しないほど柔軟ではありませんが、マシンのオペレーティング システムで実行できるバージョンの CLR が必要です。また、一部の FCL 機能はサポートされていない可能性があります。たとえば、WPF などは Windows でのみ使用できます。