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

imported>Administrator
imported>Administrator
編集の要約なし
4行目: 4行目:


[[ネイティブコード]]などの[[共通言語基盤]]([[CLI]])の外側で動くコードや、[[共通言語基盤]]([[CLI]])の安全性チェック機能などのリミッターを外したコード(たとえば[[C Sharp|C#]]のunsafeキーワードを使ったコード)のことを「[[アンマネージドコード]]」という。また、アンマネージドコードを一切含まない[[プログラム]]のことを[[ピュアマネージドコード]]または[[ピュアマネージド]]という。
[[ネイティブコード]]などの[[共通言語基盤]]([[CLI]])の外側で動くコードや、[[共通言語基盤]]([[CLI]])の安全性チェック機能などのリミッターを外したコード(たとえば[[C Sharp|C#]]のunsafeキーワードを使ったコード)のことを「[[アンマネージドコード]]」という。また、アンマネージドコードを一切含まない[[プログラム]]のことを[[ピュアマネージドコード]]または[[ピュアマネージド]]という。
マネージドコードのことを[[バイトコード]]と呼ぶ人も増えているが、マネージドコードは[[可変長]]の[[オペコード]]を持つ実装であるため、正確には[[バイトコード]]ではない。ただし、そんな細かいことを気にしてはハゲるので気にしてはならない。


== バイトコードとマネージドコード ==
== バイトコードとマネージドコード ==
主に[[Java]]から来た人を中心に[[CIL]]およびマネージドコードのことを[[バイトコード]]と呼ぶこともあるが、[[CIL]]およびマネージドコードは命令のバイト表現が多バイトなので、正確には[[固定長]]の命令を絶対条件とする[[バイトコード]]の定義には当てはまらない。
主に[[Java]]から来た人を中心に[[CIL]]およびマネージドコードのことを[[バイトコード]]と呼ぶこともあるが、[[CIL]]およびマネージドコードは[[オペコード]](命令)のバイト表現が可変長なので、正確には[[固定長]]の命令を絶対条件とする[[バイトコード]]の定義には当てはまらない。


例えるなら[[CPU]]で言えば[[RISC]]と[[CISC]]のような違いに近い。
例えるなら[[CPU]]で言えば[[RISC]]と[[CISC]]のような違いに近い。
ただし、[[CPU]]が[[RISC]]か[[CISC]]かを気にする人はほとんど存在しないように、そんな細かいことを気にしても仕方がなく、また大多数の人には意味は伝わるので、よほどの偏屈を相手にする場合を除き、使い分ける必要も、気にする必要もない。
ただし、[[CPU]]が[[RISC]]か[[CISC]]かを気にする人はほとんど存在しないように、そんな細かいことを気にしても仕方がなく、また大多数の人には意味は伝わるので、よほどの偏屈を相手にする場合を除き、使い分ける必要も、気にする必要もない。そんな細かいことを気にしてはハゲるので気にしてはならない。


== 関連項目 ==
== 関連項目 ==