実行ファイル
実行ファイルは人間が理解しやすい高水準言語のソースコードとしてソフトウェアを開発する方が格段に楽であるが、機械語を手組みすることも可能である。場合によっては、人間が解読可能であるものの機械語の命令セットと密に関連しているアセンブリ言語をソースコードとして使うこともある。高水準言語は実行可能な機械語ファイルか実行可能ではないオブジェクトファイルにコンパイルされる。アセンブリ言語の場合はこの過程をアセンブルと呼ぶ。オブジェクトファイルをいくつかリンクして実行ファイルを作成する。オブジェクトファイルは実行可能かにかかわらず、一般にELF等のコンテナフォーマットに保存され、生成された機械語は.text (実行コード)セクション、.data (静的変数)セクション、.rodata (静的定数)セクション等に分割され構造化される。
オペレーティングシステム、ファームウェア、ブートローダ等のシステムによって実行されるには、実行ファイルはシステムのABIに従う必要がある。もっとも単純な形としては、ファイルをメモリに読み込みアドレス空間の最初に移動してそこから実行することであるが、より複雑な場合は実行ファイルには別々のエントリーポイントを指定する追加のメタデータが付属する。例えば、ELFではエントリーポイントはヘッダーのe_entryフィールドに格納されており、実行を開始する(仮想)メモリアドレスを指定している。