プログラムライフサイクルフェーズ
編集時は、プログラムのソースコードを編集している段階のこと。これは、最初の作成からバグ修正、リファクタリング、または新機能の追加にまで及ぶ。編集は通常、人が行うが、自動化された設計ツールやメタプログラミングシステムを使用することもある。
コンパイル時は、ソースコードがコンパイラによってマシンコードに変換される段階のこと。この段階には、型システムの適切な使用の確認など、言語チェックが含まれる。コンパイルが成功すると、実行可能ファイルとなる。
リンク時は、外部を含む、プログラムに必要なすべてのマシンコードコンポーネントを接続 (リンク)する段階のこと。プログラムが外部ライブラリの関数を呼び出すことは非常に一般的であり、それらはすべて適切にリンクされている必要がある。リンクには2つのタイプがある。静的リンクとは、コンパイラによって接続が確立される場合であり、常に実行前に行われる。動的リンクは、実行の直前または実行中にオペレーティングシステム(OS)によって実行される。