「アンマネージドコード」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(ページの作成:「'''アンマネージドコード''' (unmanaged code)とは、.NET Framework共通言語基盤CLI)で実行されるプログラム([[マ...」)
(相違点なし)

2012年5月14日 (月) 02:54時点における版

アンマネージドコード (unmanaged code)とは、.NET Framework共通言語基盤CLI)で実行されるプログラムマネージドコード)のうち、CLIで管理されないものをいう。

CLIの外側で実行されるプログラムネイティブコード)とイコールと思われがちだが、アンマネージドコードにはネイティブコードに加え、CLIで実行されるプログラムだがCLIの制限(安全装置)を外したものも含まれる。

.NET Frameworkでは、P/Invokeを用いてマネージドコードからネイティブコードを呼び出すことができるが、このネイティブコード部分はアンマネージドコードとなる。

また、.NET Frameworkでは、データ型のチェック機構などの実行時の安全性を向上させる機能が満載されているが、それらを無効化にした場合もアンマネージドコードである。たとえばC#unsafeキーワードfixedキーワードを用いて、C言語ばりにポインタ変数をもちいたり、一般的なヒープ領域動的配列を確保するのではなく、スタック領域静的配列を確保したりした場合などがこれにあたる。

関連項目

参考文献


外部リンク