プログラミングにおけるマネージドコードとアンマネージドコードとは何ですか? 質問する

プログラミングにおけるマネージドコードとアンマネージドコードとは何ですか? 質問する

私は C# コードで特定のコマンドを使用しており、これは正常に動作します。ただし、「アンマネージ」コードでは誤動作を起こすと言われています。

マネージド コードまたはアンマネージド コードとは何ですか?

ベストアンサー1

これこの主題についての良い記事です。

要約する、

  1. マネージドコードマシン コードにコンパイルされるのではなく、マシン上の何らかのサービスによって解釈および実行される中間言語にコンパイルされるため、メモリやスレッドなどの危険なものを処理する (うまくいけば) 安全なフレームワーク内で動作します。最近の用法では、これは .NET を意味することがよくありますが、必ずしもそうである必要はありません。

同じマシンにインストールされているランタイム エンジン内で実行されるアプリケーション プログラム。ランタイム エンジンがないとアプリケーションは実行できません。ランタイム環境は、プログラムが使用するソフトウェア ルーチンの一般的なライブラリを提供し、通常はメモリ管理を実行します。また、ソース コードから実行可能コード、または中間言語から実行可能コードへのジャストインタイム (JIT) 変換も提供します。Java、Visual Basic、.NET の共通言語ランタイム (CLR) は、ランタイム エンジンの例です。(続きを読む

  1. アンマネージコードマシン コードにコンパイルされるため、OS によって直接実行されます。そのため、マネージド コードでは実行できないような、有害な処理や強力な処理を実行できます。以前はすべてがこのように動作していたため、通常は .dll などの古いものと関連付けられています。

単独で実行される実行可能プログラム。オペレーティング システムから起動されたプログラムは、オペレーティング システム内のソフトウェア ルーチンを呼び出して使用しますが、別のソフトウェア システムを使用する必要はありません。マシン語にアセンブルされたアセンブリ言語プログラムや、特定のプラットフォーム用にマシン語にコンパイルされた C/C++ プログラムは、アンマネージ コードの例です。(続きを読む

  1. ネイティブcode は多くの場合 Unmanaged と同義ですが、同一ではありません。

おすすめ記事