コードはPythonまたはC++で記述します。コンピュータはバイナリデータしか理解できません。コンパイラはソースコードを機械語に変換するプログラムです。コンパイラはプログラム全体を読み込み、エラーをチェックし、実行可能ファイルを生成します。コンパイルされたプログラムは、コンパイラなしで実行できます。
コンパイラは単にコードを翻訳するだけではありません。最適化も行います。優れたコンパイラは、冗長な命令を削除し、演算の順序を変更し、レジスタを効率的に割り当てます。単純な翻訳と最適化された翻訳では、処理速度に10倍もの差が生じる可能性があります。
コンパイルの段階
- 字句解析:コードをトークンに分割する
- 構文解析:構文木を構築する
- 意味解析:型とスコープをチェックする
- 最適化:パフォーマンスを向上させます
- コード生成:機械語を生成する
すべてのプログラミング言語がコンパイラを使用するわけではありません。Pythonのようなインタプリタ型言語は、コードを一行ずつ実行します。ジャストインタイムコンパイラは、両方のアプローチを組み合わせ、実行時にホットパスとなるコードをコンパイルします。どちらの方式も、起動速度と実行速度のトレードオフの関係にあります。
Comments
No comments yet. Be the first to share a thought.
Leave a comment