マネージコード 【managed code】 マネージドコード

概要

マネージコード(managed code)とは、.NET Frameworkにおける実行可能プログラムの形式の一つで、.NET規格の共通中間言語によって記述されたもの。実行環境によって動的にネイティブコードに変換されて実行される。

.NETでは原則として、プログラミング言語で記述されたソースコードは開発環境のコンパイラによって共通中間言語CILCommon Intermediate Language)と呼ばれるコード形式に変換される。これをマネージコードという。

共通中間言語はCPUの機械語に似た形式のコードで、実行時には.NET Frameworkなどに含まれる共通言語ランタイムCLRCommon Language Runtime)によって、そのコンピュータに固有の機械語プログラム(ネイティブコード)に変換されて実行される。

マネージコードはCLRが存在する環境であればどこでも同じように動作させることができる。コードの挙動をCLRが把握した上で変換・実行されるため、ガーベジコレクション例外処理を利用したり、配列境界を超えて書き込みが行われていないかのチェック、型安全性の保証など、危険な動作が行われないよう適切な管理を行うことができる。

一方、特定の機種で直に実行することができるネイティブコードに変換する方式を「アンマネージコード」(unmanaged code)という。マネージコードより高速で動作させることができ、機種固有の機能を利用することもできるが、マネージコード向けの機能は利用できず、安全性のチェックも行われない。

(2024.1.26更新)