ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

コンパイラと共通中間言語

ショートカット: 違い類似点ジャカード類似性係数参考文献

コンパイラと共通中間言語の違い

コンパイラ vs. 共通中間言語

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。. 共通中間言語(きょうつうちゅうかんげんご、Common Intermediate Language、略称: CIL("sil" や "kil" と発音される))は、共通言語基盤 (Common Language Infrastructure、CLI) で定義された最も低水準な人間が解読可能なプログラミング言語であり、.NET FrameworkやMonoにより使用される。CLI互換な実行環境をターゲットとしている言語はCILにコンパイルされる。そのCILはバイトコードスタイルフォーマットであるオブジェクトコードにより組み立てられている。CILはオブジェクト指向なアセンブリ言語であり、完全なスタックベースである。そのバイトコードはネイティブコードに翻訳されるか、仮想機械により実行される。.NET言語がベータリリースである間、CILはMicrosoft Intermediate Language (MSIL) と呼ばれていた。C#およびCLIの標準化により、現在ではバイトコードは公式にCILと呼ばれる。.

コンパイラと共通中間言語間の類似点

コンパイラと共通中間言語は(ユニオンペディアに)共通で8ものを持っています: 実行時コンパイラ事前コンパイラバイトコードプログラミング言語アセンブリ言語オブジェクトファイルCPU機械語

実行時コンパイラ

実行時コンパイラ(じっこうじコンパイラ、、JITコンパイラ、その都度のコンパイラ)とは、ソフトウェアの実行時にコードのコンパイルを行い実行速度の向上を図るコンパイラのこと。通常のコンパイラはソースコード(あるいは中間コード)から対象CPUの機械語への変換を実行前に事前に行い、これをJITと対比して事前コンパイラ (Ahead-Of-Timeコンパイラ、AOTコンパイラ)と呼ぶ。.

コンパイラと実行時コンパイラ · 共通中間言語と実行時コンパイラ · 続きを見る »

事前コンパイラ

事前コンパイラ (Ahead-Of-Timeコンパイラ、AOTコンパイラ)とは、アプリケーション実行前に事前にコンパイルするコンパイラのこと。主に、Javaのバイトコード、.NET CIL、IBM System/38 や System i の "Technology Independent Machine Interface" コードといったシステムから独立した(プロセス仮想機械)のバイナリである中間言語のコンパイルで使われる言葉である。対義語は、実行時コンパイラ(Just-In-Timeコンパイラ、JITコンパイラ)。 プロセス仮想機械の中間言語のコンパイル方式としては実行時コンパイラ (JITコンパイラ) が性能強化手段としてよく知られている。これは大まかに言えば、実行中に中間言語コードをネイティブの機械語コードにコンパイルするもので、場合によってはアプリケーション性能を低下させることもある。AOTコンパイラは実行時のコンパイルの必要を無くし、ソースコードから中間言語コードを生成した後に、ネイティブの機械語コードも生成してしまう方式である。 Java仮想機械においては、最初の段階から、x86とSPARCの両方でアプリケーションが動くことが重視されていたため、CPUから独立な中間コードの形態でアプリを配布し、実行時にCPUネイティブのコードに変換する手法がとられた。 仮想機械のコンパイルにおいて、JITコンパイラが普及しているため、区別するためAOTコンパイラという言葉が使われるが、C言語やC++など、AOTコンパイラが当たり前の言語では、わざわざAOTをつけずに単にコンパイラと呼ばれることがほとんどである。.

コンパイラと事前コンパイラ · 事前コンパイラと共通中間言語 · 続きを見る »

バイトコード

バイトコード (bytecode) は、仮想マシンによる実行のために設計された、実行可能なプログラムのバイナリ表現である。ソフトウェアによって処理されるため、大抵は実機の機械語より抽象度の高い中間コードになっている。プログラミング言語の実装において、特定のハードウェアへの依存度を下げ、またインタプリタの実装を容易にするために用いられる。コンパイラの中間コードとして用いられることもある。 バイトコードという名前は命令の構成がバイト指向であること、すなわち命令長がバイト可変長であったり、命令中のフィールドの区切りがバイト区切りに合っているといったことから来ている。特にJavaの場合オペコードが1バイトである。しかし、仮想マシンの機械語をバイトコードと呼ぶことがJavaで広く一般的になったことから、前述のようなバイト指向でなくともバイトコードと呼んでいることも多い。バイト単位でなくビット単位の場合は、ビットコードとも呼ばれる。ワード指向のためにワードコードという語を使っている例も見られる。 バイトコードで記述されたプログラムは通常、バイトコードインタプリタによって解釈・実行される。バイトコードインタプリタは機械語を解釈・実行するCPUとの類似性からバーチャルマシンとも呼ばれる。.

コンパイラとバイトコード · バイトコードと共通中間言語 · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

コンパイラとプログラミング言語 · プログラミング言語と共通中間言語 · 続きを見る »

アセンブリ言語

モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language)とは、コンピュータ、マイクロコントローラ、その他のプログラム可能な機器を動作させるための機械語を人間にわかりやすい形で記述する、代表的な低水準言語である。なお、英語の assembly とは「組立」という意味である。.

アセンブリ言語とコンパイラ · アセンブリ言語と共通中間言語 · 続きを見る »

オブジェクトファイル

ブジェクトファイル またはオブジェクトコード とは、コンパイラがソースコードを処理した結果生成される、コード生成の結果であるバイナリコードを含む中間的なデータ表現のファイルである。中身は、機械語バイナリとそれに付随するシンボルテーブルやリロケーションテーブルといった付加情報であり、さらにデバッグ支援情報や近年はリンク時最適化等のための高度な情報が含まれる場合もある。オブジェクトファイル群をリンクすることによって最終的な実行ファイルやライブラリが作成される。オブジェクトファイルのほとんどは機械語である(コンピュータのCPUが直接実行できるコード)。オブジェクトファイルフォーマットはコンパイラやアセンブラが生成するオブジェクトファイルのファイルフォーマットである。.

オブジェクトファイルとコンパイラ · オブジェクトファイルと共通中間言語 · 続きを見る »

CPU

Intel Core 2 Duo E6600) CPU(シーピーユー、Central Processing Unit)、中央処理装置(ちゅうおうしょりそうち)は、コンピュータにおける中心的な処理装置(プロセッサ)。 「CPU」と「プロセッサ」と「マイクロプロセッサ」という語は、ほぼ同義語として使われる場合も多いが、厳密には以下に述べるように若干の範囲の違いがある。大規模集積回路(LSI)の発達により1個ないしごく少数のチップに全機能が集積されたマイクロプロセッサが誕生する以前は、多数の(小規模)集積回路(さらにそれ以前はディスクリート)から成る巨大な電子回路がプロセッサであり、CPUであった。大型汎用機を指す「メインフレーム」という語は、もともとは多数の架(フレーム)から成る大型汎用機システムにおいてCPUの収まる主要部(メイン)、という所から来ている。また、パーソナルコンピュータ全体をシステムとして見た時、例えば電源部が制御用に内蔵するワンチップマイコン(マイクロコントローラ)は、システム全体として見た場合には「CPU」ではない。.

CPUとコンパイラ · CPUと共通中間言語 · 続きを見る »

機械語

機械語(きかいご)またはマシン語(Machine code、machine language)とは、コンピュータのプロセッサが直接解釈実行可能な一連の命令群のデータそのもの(を、コンピュータ・プログラミング言語とみなしたもの)である。.

コンパイラと機械語 · 共通中間言語と機械語 · 続きを見る »

上記のリストは以下の質問に答えます

コンパイラと共通中間言語の間の比較

共通中間言語が38を有しているコンパイラは、118の関係を有しています。 彼らは一般的な8で持っているように、ジャカード指数は5.13%です = 8 / (118 + 38)。

参考文献

この記事では、コンパイラと共通中間言語との関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »