コンパイラ (具体的にはリンカー) が実行可能ファイルを作成します。
通常、ファイルの形式はオペレーティング システムによって異なります。
現在、ELF と COFF の 2 つの主な形式があります。
http://en.wikipedia.org/wiki/Executable_and_Linkable_Format
http://en.wikipedia.org/wiki/COFF
構造の概念を理解していれば、これは同じで、ファイル内のみです。各ファイルにはヘッダーと呼ばれる最初の構造があり、そこから必要に応じて他の構造にアクセスできます。
ほとんどの場合、結果のバイナリ コードのみがこれらのファイルに保存されますが、デバッグ情報が見つかることがよくあります。一部の形式ではコードに沿ってソースを保存できますが、現在ではソースへの必要な参照のみが保存されます。
動的リンクを使用すると、実際のシンボル名を含むシンボル テーブルも見つかります。それ以外の場合は、再配置テーブルのみが必要になります。
Amiga では、「セグメント」でコードを定義することもできました。一度にロードできるセグメントは 1 つだけです。セグメントの処理が完了したら、それをアンロードして別のセグメントをロードできます。それでも、最終的にはコンセプトは似ていました。ファイル内の構造。
Microsoft は、COFF 形式に関する PDF を提供しています。私は今彼らのウェブサイトでそれを見つけることができませんでしたが、他の人がそれを持っているようです. ELF のウィキペディア ページには多くのリンクがあるため、開始するには PDF を見つけることができるはずです。