【こんぱいる】
コンパイル とは?
最終更新:
💡 コードを別の実行用の表現へ「翻訳」する処理
ソースコードを解析し、別の実行用の表現へ変換する処理。出力は機械語だけでなく、バイトコードやアセンブリコードなどの場合もある。
📌 このページのポイント
コンパイルって何のためにするの?
変換したら、そのまま実行できる?
CをGCCで処理する例では、オブジェクトファイルを作ってから、ほかのコードやライブラリとリンクして実行ファイルを作るよ。コンパイルの出力がいつも完成した実行ファイル、というわけではないんだ。
Pythonはコンパイルしないよね?
コンパイルが成功すれば安心?
構文や型の誤りなどを実行前に見つけられるのは利点だよ。でも検査内容は言語や設定によるし、意図と違う計算や実行中の不具合まで全部分かるわけではない。実行速度も、コンパイルするというだけで必ず速くなるとは決まらないんだ。
JITとAOTって何が違うの?
まとめ:ざっくりこれだけ覚えればOK!
「コンパイル」って出てきたら「ソースコードを別の実行用の表現へ変換する処理」と思えばだいたいOK!
📖 おまけ:英語の意味
「Compile / Compiler」 = コードを変換する処理/その処理を行うプログラム
💬 コンパイルを行うプログラムがコンパイラだよ。出力が何になるかは、言語や処理系、設定によって違うんだ。