.EXE ファイルとは?
EXE という単語は、executable の略です。 .exe ファイルは、Microsoft Windows オペレーティング システムで実行できるプログラムです。アプリケーション開発者は、ほとんどの場合、Windows OS 用のプログラムを実行可能形式で exe ファイルとして公開します。 Windows でアプリケーションを実行するための標準的なファイル形式です。 Setup.exe、Install.exe、および cmd.exe は、一般的でよく知られている EXE ファイルの名前です。
EXE ファイル形式
MS-DOS コンパイラは、64K メモリ制限のあるメモリ モデルで導入されました。一般的な概念は、x86 CPU (CS、DS、ES、SS) 内の異なるセグメント レジスタを設定して、異なるセグメントまたは同じセグメントを指すようにすることです。これにより、メモリへのさまざまなレベルのアクセスが可能になります。特定のメモリ モデルは次のとおりです。
- Tiny: すべてのメモリ アクセスは 16 ビットです (セグメント レジスタは変更されません)。 .EXE ファイルの代わりに .COM ファイルを生成します。
- 小規模: すべてのメモリ アクセスは 16 ビットです (セグメント レジスタは変更されません)。
- コンパクト: データ アドレスにはセグメントとオフセットの両方が含まれ、アクセス時に DS または ES レジスタをリロードし、最大 1M のデータを許可します。コード アクセスは CS レジスタを変更しないため、64K のコードを使用できます。
- 中: コード アドレスにはセグメント アドレスが含まれ、アクセス時に CS をリロードし、最大 1M のコードを許可します。データ アクセスは DS および ES レジスタを変更しないため、64K のデータが許可されます。
- Large: コード アドレスとデータ アドレスの両方が (セグメント、オフセット) ペアであり、常にセグメント アドレスをリロードします。 1M バイトのメモリ空間全体が、コードとデータの両方に使用できます。
- Huge: 大きなモデルと同じですが、64K を超える配列へのアクセスを許可するためにコンパイラによって追加の演算が生成されます。
開発者は、exe ファイルの作成中にどのモデルを選択するかを決定する必要があります。
ポータブル EXE ファイル形式
移植可能な実行可能ファイル形式 (PE) には、多数の情報ヘッダーが含まれています。ヘッダーのリストは次のとおりです。
- DOS ヘッダー: MS-DOS ヘッダーは、下位互換性を保証するか、新しいファイル タイプの適切な減少を保証します。
- PE ヘッダー: DOS ヘッダーの先頭からのオフセット 60 (0x3C) は、PE ファイル ヘッダーへのポインターです。
- COFF ヘッダー: COFF ヘッダーには、実行可能ファイルに役立つ情報と、オブジェクト ファイルに役立つ情報が含まれています。
- PE オプション ヘッダー: PE オプション ヘッダーは、COFF ヘッダーの直後に発生し、一部のソースでは、2 つのヘッダーが同じ構造の一部であると示されています。
- セクション テーブル: PE オプション ヘッダーの直後にセクション テーブルがあります。セクション テーブルは、IMAGE_SECTION_HEADER 構造体の配列で構成されます。
- Mappable Sections: ライブラリのコードを複数のプロセスにマップすることで、メモリのスペースを節約できます。
Mac で EXE ファイルを実行できますか?
Exe ファイルは、Mac OS では実行可能ファイルとして使用されません。ただし、Mac OS で exe ファイルを実行する場合は、次の方法を使用できます。
- Wine - Wine は、Mac システムで PC アプリケーションを使用したい人に最適なソリューションです。 「Wine Is Not A Emulator」を意味する頭字語です。 Wine は、Microsoft が使用するのと同じディレクトリ環境を作成するため、それを使用して Windows アプリケーションを実行できます。
- 仮想マシン - Parallel Desktop または VM Virtual Box を使用して Windows 仮想マシンを作成し、仮想マシン内でアプリケーションを実行します。
- Boot Camp - Mac OS に Windows Boot Camp をインストールして構成すると、Mac マシンで Windows OS を実行できます。