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

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
8行目: 8行目:
  
 
== バイトコードとマネージドコード ==
 
== バイトコードとマネージドコード ==
主に[[Java]]から来た人を中心に[[CIL]]およびマネージドコードのことを[[バイトコード]]と呼ぶこともあるが、[[CIL]]およびマネージドコードは命令のバイト表現が多バイトなので正確には固定長の命令を要求する[[バイトコード]]の定義には当てはまらない。例えるなら[[CPU]]で言えば[[RISC]]と[[CISC]]のような違いのようなものである。
+
主に[[Java]]から来た人を中心に[[CIL]]およびマネージドコードのことを[[バイトコード]]と呼ぶこともあるが、[[CIL]]およびマネージドコードは命令のバイト表現が多バイトなので、正確には[[固定長]]の命令を絶対条件とする[[バイトコード]]の定義には当てはまらない。
  
ただし、そんな細かいことを気にしても仕方がなく、また大多数の人には意味は伝わるので、よほどの偏屈を相手にする場合を除き、気にする必要はない。
+
例えるなら[[CPU]]で言えば[[RISC]]と[[CISC]]のような違いに近い。
 +
ただし、[[CPU]]が[[RISC]]か[[CISC]]かを気にする人はほとんど存在しないように、そんな細かいことを気にしても仕方がなく、また大多数の人には意味は伝わるので、よほどの偏屈を相手にする場合を除き、使い分ける必要も、気にする必要もない。
  
 
== 関連項目 ==
 
== 関連項目 ==

2012年4月25日 (水) 06:21時点における版

マネージドコード(managed code)とは、.NET Frameworkで用いられる共通中間言語CIL)のバイナリ形式のことで、共通言語基盤CLI)で実行されるプログラムを指す。なお、日本ではマネージコード(manage code)と「ド」抜きで表記されることが多い。「ド」の有無で英語の意味が違うよ、などという細かい指摘は英語など知らん大半の日本人には無用である。

マネージドコードはガーベジコレクションなどの機能をフルに利用できる。

ネイティブコードなどの共通言語基盤CLI)の外側で動くコードや、共通言語基盤CLI)の安全性チェック機能などのリミッターを外したコード(たとえばC#のunsafeキーワードを使ったコード)のことを「アンマネージドコード」という。また、アンマネージドコードを一切含まないプログラムのことをピュアマネージドコードまたはピュアマネージドという。

マネージドコードのことをバイトコードと呼ぶ人も増えているが、マネージドコードは可変長オペコードを持つ実装であるため、正確にはバイトコードではない。ただし、そんな細かいことを気にしてはハゲるので気にしてはならない。

バイトコードとマネージドコード

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

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

関連項目

参考文献


外部リンク