高度な機能とC#プロジェクトの戦闘DayOne

C#プロジェクトの戦闘と高度な機能:
CLR:共通言語ランタイムは、開発者が独自のアプリケーションからテストされた再利用可能なコードライブラリを呼び出すことができます。
CLRは、.NETFrameworkの心臓部です。
CTSは、共通型システムである(共通型システム)
CLSは共通言語の定義である(共通言語仕様)
CLRは、共通言語ランタイム(共通言語ランタイム)である
CLRが確立されているので、彼らは、お互いを訪問することができ、多くの言語のCLR統合タイプの標準セット、メタデータ、公共の実行環境。このよう大文字と小文字を区別など、さまざまな言語の間に有意差が存在するので、他の言語が自分の使用するためのプログラムにアクセスできるように、これを作成するためにので、いくつかは、符号なし、メソッドのオーバーロードや操作の可変パラメータをサポートしていません。プログラミング言語は他の言語でサポートされている機能のみを使用します。私たちはこれを行う支援するため、Microsoftは「共通言語仕様(共通言語仕様、CLS)」を定義する
CTSは、参照型の引用、使用およびストレージを定義するために従わなければならない言語コンパイラのルールのセットを定義しますそして、値のタイプ。そのため、CTS以下、異なる言語で記述されたオブジェクトが相互に対話することができます。しかし、すべての種類は、すべての言語で使用することができます。
言語のコンパイラ:マイクロソフト中間言語、CLRは、中間言語に責任がある:言語コンパイラ、各言語に基づいては、CLRのための.NET言語は、モジュールはまた、MSIL MSILに対応する言語をコンパイルするには、言語コンパイラとして理解することができ、管理しています理解することができるコンピュータ言語プログラムの実行中にコンパイルされ、高レベル言語およびアセンブリ言語擬似アセンブリ言語JIT(ジャストインタイムコンパイル)の間の範囲である : インスタントMSILは理解プログラムの言語を解釈コンパイル。
IL / MSIL / CILのMicrosoft中間言語 ) のMicrosoft中間言語(ILは、中間言語に翻訳され、MSILの略である)2.CTS(共通型システム)共通型システム3.CLS(共通言語仕様)共通言語仕様4.CLR(共通言語ランタイム)共通言語ランタイム(もいくつかは、共通言語ランタイムと呼ばれる)5.JIT(ジャストインタイム)タイムコンパイラ6.CLI共通言語基盤(共通言語基盤)7. BCLベースクラスライブラリ(基本クラスライブラリ)8. FCLフレームワーククラスライブラリ(フレームワーククラスライブラリ)
、フレームワークランタイムシステムの概要:exeファイル形式は、.NETのPEファイル構造、にコンパイルコンパイラによってC#1、C#のhello.cs、に記述された最初のソース・ファイル、プログラムWindowsはローダーをロードしません、実行すると、プログラム等のメモリ割り当て、スレッド管理のための責任があるが、CLR実行エンジン(EE)へのジャンプのための唯一の責任があり、制御がCLRによってCLR、割り当てられたメモリを参照し、スレッド管理、例外処理など。
メタデータ:共通言語ランタイムポータブル実行可能(PE)ファイルに格納するためにバイナリ情報またはプログラムがメモリに格納されて記載されています。コードは、PEファイルとしてコンパイルされている場合、メタデータはファイルの部分に挿入され、中間言語コードマイクロソフト(MSIL)に変換し、ファイルの別の部分に挿入されます。タイプのモジュールまたはアセンブリ内の各メンバーは、定義されたメタデータに記載され参照されます。コードが実行されると、実行時のメタデータは、それがクラスメンバーのコード、相続やその他の情報についてのを発見するためのメモリとの言及にロードされます。メタデータは、以下の情報を格納します。typeプロパティの説明アセンブリの説明
GCとは何ですか?
GC(ガベージコレクタ)名前が示唆するように、ここでの唯一のメモリに関して、ガベージコレクションです。
原則として働いGC:まだ使用する必要があるすべてのオブジェクトを動的それらが死んでいるオブジェクトを決定するために参照されているかどうかを識別することにより、ヒープ(ヒープ)に割り当てられたGCアプリケーションを、横断は、もはや参照されたアプリケーションではありませんオブジェクトは、被験者は、ジャンクいわゆる回復する必要があること、死亡していましたさ。
二つの問題のNET GCメカニズム:まず、GCはすべてのリソースを解放することはできません。それは自動的にアンマネージリソースを解放することはできません。第二に、GCはGCは、システムのパフォーマンスと不確実性のボトルネックを引き起こす可能性がある、リアルタイムシステム性能のボトルネックと不確実性はない原因となる、リアルタイムではありません。だから、IDisposableインターフェイスで、IDisposableをインターフェイスは、プログラマがアンマネージリソースを解放するために、明示的に呼び出すために使用されているDisposeメソッドを定義します。リソース管理を簡素化することができます使用してステートメントを使用します

おすすめ

転載: www.cnblogs.com/huangchengbin/p/11140687.html