アンマネージドコード

提供: MonoBook
2015年10月18日 (日) 18:04時点における153.219.225.170 (トーク)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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

概要[編集 | ソースを編集]

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

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

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

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]