メインメニューを開く

差分

アンマネージドコード

44 バイト追加, 2015年10月18日 (日) 18:04
編集の要約なし
'''アンマネージドコード''' (unmanaged ([[英語]]:unmanaged code)とは、[[.NET Framework]]の[[共通言語基盤]]([[CLI]])で実行される[[プログラム]]([[マネージドコード]])のうち、CLIで管理されないものをいう。のうち、CLIで管理されないものをいう。
==概要==アンマネージドコードは[[CLI]]の外側で実行される[[プログラム]]、いわゆる[[ネイティブコード]])とイコールと思われがちだが、アンマネージドコードにはネイティブコードに加え、とイコールと思われがちだが、アンマネージドコードにはネイティブコードに加え、[[CLI]]で実行されるプログラムだが[[CLI]]の制限(安全装置)を外したものも含まれる。の[[オーバーフロー]]のチェックなど(安全装置)を外したものも含まれる。
[[.NET Framework]]では、では[[P/Invoke]]を用いて[[マネージドコード]]から[[ネイティブコード]]を呼び出すことができるが、このネイティブコード部分はアンマネージドコードとなる。
また、[[.NET Framework]]では、[[データ型]]のチェック機構などの実行時の安全性を向上させる機能が満載されているが、それらを無効化にした場合もアンマネージドコードである。たとえば[[C Sharp|C#]]で[[C Sharp/unsafeキーワード|unsafeキーワード]]や[[C Sharp/fixedキーワード|fixedキーワード]]を用いて、[[C言語]]ばりに[[ポインタ変数]]をもちいたり、一般的な[[ヒープ領域]]に[[動的配列]]を確保するのではなく、[[スタック領域]]に[[静的配列]]を確保したりした場合などがこれにあたる。
== 参考文献 ==
<references/> == 外部リンク =={{reflist}}
{{stub}}
匿名利用者