C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でのマネージコードとアンマネージコード


アンマネージコード

  • CLRの制御下にないアプリケーションは管理されていません

  • 安全でないコードまたは管理されていないコードは、ポインター変数を使用するコードブロックです。

  • 安全でない修飾子を使用すると、アンマネージコードでポインターを使用できます。

例を見てみましょう-

static unsafe void Main(string[] args) {
   int var = 20;
   int* p = &var;
   Console.WriteLine("Data is: {0} ", var);
   Console.WriteLine("Address is: {0}", (int)p);
   Console.ReadKey();
}

マネージコード

マネージコードは、実行が共通言語ランタイムによって管理されるコードです。マネージコードを取得し、マシンコードにコンパイルします。その後、コードが実行されます。ここでのランタイム、つまりCLRは、自動メモリ管理、型安全性などを提供します。

マネージコードは、.NET上で実行される高級言語で記述されています。これは、C#、F#などです。コンパイラを使用してこの言語のいずれかでコンパイルされたコード。マシンコードは生成されません。ただし、ランタイムによってコンパイルおよび実行される中間言語コードを取得します

「アンマネージコード」と呼ばれるC/C ++コードには、その特権はありません。プログラムは、オペレーティングシステムによってメモリにロードされるバイナリです。残りは、プログラマーが処理する必要があります。


  1. MacでC#でコーディングする方法

    C#(「c-sharp」と発音)は、MacとPCで機能する優れたコーディング言語です。プログラマーはこれを使用して、特にWindows環境でさまざまなソフトウェアアプリケーションを構築します。 この記事では、Macユーザー向けのC#入門書を提供します。 Macで言語を設定する方法、プロジェクトを開始する方法、C#構文の基本、および最初にこの言語を選択する理由を示します。さらに、このテーマについて詳しく知ることができる最高のオンラインリソースを選びました。 この種のことが魅力的な場合は、PythonやSQLなど、Macでのコーディングに関する他の記事や、アプリ開発に最適なMacを選択するのに

  2. MongoDBでのコードインジェクション

    元々は2019年3月5日に公開されました アプリケーション開発者、データベース管理者(DBA)、またはその他の技術者の場合は、コードインジェクションを監視する必要があります。 安全なクラウド環境があります。データベースアクセスがロックダウンされています。しかし、アプリケーションコードはどうですか?より安全であると考えられていますが、いいえ NoSQLiでは、注射できないという意味ではありません。 NoSQLは、他のデータベースコードと同じようにコードインジェクションの影響を受けやすい可能性があります。コードインジェクションを防止しないことは、ドアにセキュリティシステムを設置し、バックウ