実行ファイル
GCC (GNUコンパイラコレクション) では、このフィールドは_startシンボルによりリンカによって指定される。
実行ファイルには通常ランタイムシステムも含まれており、ランタイム言語機能 (タスクスケジュール、例外処理のハンドル、静的コンストラクタやデストラクタの呼び出し等)や特定のオペレーティングシステムのシステムコールを呼び出し、引数や環境変数を渡し戻り値を得る命令セット、そしてファイルハンドル等のリソースを解放して開始/終了処理を行う機能が含まれる。C では、実際のエントリーポイントを含みランタイムライブラリを呼び出し開始/終了処理を行う crt0 オブジェクトをリンクすることで実現している。
実行ファイルには実行に必要な環境についての情報、デバッグ情報、シンボル情報など、ソースコードから生成される機械語プログラム自体に含まれない情報も多く格納されることがある。場合によっては、例えば組込みシステムの開発やコンパイル、リンク、ローダの動作を単純に学習したい場合等、これを省略したい場合がある。C では、通常のラインタイムを省略することができ、その代わりに明示的にリンカスクリプトを指定し、エントリーポイントを生成してmainを呼び出したりカーネルに終了コードを返すといった開始/終了処理を行う。
実行ファイルはプロセッサ固有であるだけでなくオペレーティングシステム固有でもある。