プログラミングで使われる中間言語について調べてみた
auです。
中間言語という用語について調べてみました。
中間言語とは
中間言語(Intermediate language)とは、高級言語と機械語の間にある言語のことです。
コンパイラがソースコードから機械語を作る場合、コンパイラが翻訳しやすいようにするためや、最適化を行うために中間言語をに変換してから機械語にする場合が多いらしいです。
Javaでは、OSやハードウェアごとのJavaプラットフォームからコンパイルをしてバイトコードという中間言語に翻訳します。
このバイトコードは、全てのJavaプラットフォームで動作するようになっています。便利。
このバイトコードをJITコンパイラで実行することで動かすことができるわけです。
ここでの中間言語は「バイトコード」のことを指しています。
C言語でのコンパイルは、ソースコード→オブジェクトコード(中間言語)→機械語という風になっています。
オブジェクトファイルとも呼ばれるそうです。
hogehoge.oというファイルがオブジェクトファイルとして使いますね。そして、このオブジェクトファイルをリンカで適切に処理することで、実行ファイルを作ることができます。