プログラム

コンパイラとは

コンパイラ

コンパイラとは

コンパイラ(compiler)とは、高水準言語(高級言語)で書かれたソースコードをコンピュータが解釈・実行できる形式に変換するソフトウェアのことです。

チェック

高水準言語とは、CやJavaのような記述の抽象度が高いプログラミング言語のこと。対義語は機械語やアセンブリ言語(低水準言語)

コンパイルとは

プログラミング言語は人間が理解しやすいように作られているため、コンピュータはプログラミング言語で書かれたプログラムを理解することができません。

そのため、コンピュータが理解できる機械語(バイナリデータ)に変換します。この変換工程のことをコンパイル(comple)といいます。

逆コンパイラとは

逆コンパイラとは、コンパイラとは逆にコンピュータが理解できる機械語(バイナリデータ)を、高水準言語によるソースコードに変換するソフトウェアのことです。

逆コンパイラで、機械語(バイナリデータ)を元に戻す変換工程のことを逆コンパイル(decompile)といいます。

逆コンパイラとは

 

逆という名前ですが、逆コンパイルすることで元のソースコードが完全に復元するわけではありません。

コンパイルする時に、ソースコードに記述されていた変数名や関数名などのシンボル、コメントなど実行時に不要な情報は削除されているため、逆コンパイルしてもそのような情報は復元されません。

また、ソフトウェアの開発元によっては、公開されているプログラムに対して、逆コンパイル等のリバースエンジニアリングを行うことを禁じていることも多いです。

よろしければ記事の評価をお願いします

© 2020 ITを分かりやすく解説