実行ファイルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > 実行ファイルの意味・解説 

じっこう‐ファイル〔ジツカウ‐〕【実行ファイル】


実行ファイル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/17 02:31 UTC 版)

リアルモードブートローダー16進数ダンプ

実行ファイル(じっこうファイル、: ExecutableExecutable file)とは、コンピュータがタスクを実行するための解釈可能な命令を含むファイルである[1]実行可能ファイル実行可能プログラム実行形式ファイル、あるいは単に実行形式とも呼ばれる。これと対になるのがデータファイルであり、これは実行ファイルにより解析されることで初めてコンピュータにとって意味があるものとなる。

実行ファイルかどうかの厳密な定義は文脈によるところがある。"命令" とは多くの場合、特定のCPU機械語を格納したバイナリのことを指す(この形式の実行ファイルを単に「バイナリ(ファイル)」と呼ぶこともある)[2]。場合によっては、インタプリタに解釈させる中間コードスクリプト言語シェルスクリプトバッチファイルを含む)も実行ファイルと呼ばれることがある。また、オペレーティングシステムによっては実行ファイルであることを示すファイル名の規約が存在する(拡張子 ".bin" ".exe"など)。あるいはファイルのメタデータで実行ファイルかどうかを示す(例えばUNIXオペレーティングシステムファイルパーミッションビット)。

実行ファイルの生成

実行ファイルは人間が理解しやすい高水準言語ソースコードとしてソフトウェアを開発する方が格段に楽であるが、機械語を手組みすることも可能である。場合によっては、人間が解読可能であるものの機械語の命令セットと密に関連しているアセンブリ言語をソースコードとして使うこともある。高水準言語は実行可能な機械語ファイルか実行可能ではないオブジェクトファイルコンパイルされる。アセンブリ言語の場合はこの過程をアセンブルと呼ぶ。オブジェクトファイルをいくつかリンクして実行ファイルを作成する。オブジェクトファイルは実行可能かにかかわらず、一般にELF等のコンテナフォーマットに保存され[3]、生成された機械語は.text(実行コード)セクション、.data(静的変数)セクション、.rodata(静的定数)セクション等に分割され構造化される。

オペレーティングシステム、ファームウェアブートローダ等のシステムによって実行されるには、実行ファイルはシステムのABIに従う必要がある[4]。もっとも単純な形としては、ファイルをメモリに読み込みアドレス空間の最初に移動してそこから実行することであるが、より複雑な場合は実行ファイルには別々のエントリーポイントを指定する追加のメタデータが付属する。例えば、ELFではエントリーポイントはヘッダーのe_entryフィールドに格納されており、実行を開始する(仮想)メモリアドレスを指定している。GCC(GNUコンパイラコレクション)では、このフィールドは_startシンボルによりリンカによって指定される。

実行ファイルには通常ランタイムシステムも含まれており、ランタイム言語機能(タスクスケジュール例外処理のハンドル、静的コンストラクタやデストラクタの呼び出し等)や特定のオペレーティングシステムのシステムコールを呼び出し、引数や環境変数を渡し戻り値を得る命令セット、そしてファイルハンドル等のリソースを解放して開始/終了処理を行う機能が含まれる。C では、実際のエントリーポイントを含みランタイムライブラリを呼び出し開始/終了処理を行う crt0 オブジェクトをリンクすることで実現している[5]

実行ファイルには実行に必要な環境についての情報、デバッグ情報、シンボル情報など、ソースコードから生成される機械語プログラム自体に含まれない情報も多く格納されることがある。場合によっては、例えば組込みシステムの開発やコンパイル、リンク、ローダの動作を単純に学習したい場合等、これを省略したい場合がある。C では、通常のラインタイムを省略することができ、その代わりに明示的にリンカスクリプトを指定し、エントリーポイントを生成してmainを呼び出したりカーネルに終了コードを返すといった開始/終了処理を行う[6]

実行ファイルはプロセッサ固有であるだけでなくオペレーティングシステム固有でもある。

実行ファイル形式

実行ファイル形式は実行ファイルのためのファイル形式、すなわちプログラムを実行ファイルとして収納する形式である。コンテナフォーマットの一種。

一定の規格に沿ってプログラムがファイル内に配置されることで、プロセッサOSが実行ファイルをロードできる。ゆえに各実行プラットフォームは対応する実行ファイル形式を定めている。以下はその一例である。

表. 主要な実行ファイル形式
実行ファイル形式 拡張子 利用プラットフォーム
ELF .bin Linux
Mach-O macOS, iOS
PE .exe Windows
Dalvik Executable .dex AndroidGoogle Chrome OS

脚注

  1. ^ executable”. Merriam-Webster's Online Dictionary. Merriam-Webster. 2008年7月19日閲覧。
  2. ^ Machine Instructions” (英語). GeeksforGeeks (2015年11月3日). 2019年9月18日閲覧。
  3. ^ Chapter 4: Object Files”. refspecs.linuxbase.org. 2019年9月18日閲覧。
  4. ^ Boelen, Michael (2019年5月15日). “The 101 of ELF files on Linux: Understanding and Analysis - Linux...” (英語). Linux Audit. 2019年9月18日閲覧。
  5. ^ content, Tim Fisher Tim Fisher has 30+ years' professional technology support experience He writes troubleshooting. “List of Executable File Extensions” (英語). Lifewire. 2019年9月18日閲覧。
  6. ^ McKellar, Jessica (2010年3月16日). “Hello from a libc-free world! (Part 1)”. 2019年9月18日閲覧。

関連項目

外部リンク


実行ファイル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/30 16:19 UTC 版)

MS-DOS」の記事における「実行ファイル」の解説

MS-DOSにおける実行ファイルの形式は、現在のUNIX系環境で言うシェルスクリプト類似したコマンドバッチ処理記述するバッチファイル(拡張子BAT)と、CPU直接実行するバイナリファイル大別することができる。 このうちバイナリファイルには、単一セグメントを使うCOM形式複数セグメント使用される場合EXE形式、さらにデバイスドライバとしてSYS形式存在しそれぞれ同名拡張子を持つ。 COM形式の実行ファイルは、バイナリ読み込み時に設定されるコード・データ・エクストラ・スタックの各セグメントレジスタの値が同一アドレス設定されプログラム内部でセグメントレジスタを操作しない場合単一セグメント最大64KBのメモリ空間操作するCP/M 80用に書かれ8080用のアセンブリ言語ソースコード8086コンバートした場合想定したメモリモデルであるが、COM形式バイナリであってもプログラム側で適切にセグメントレジスタを操作することで64KB以上の空間へのアクセスが可能である。 このうち.SYS形式バイナリは、原則的に起動時一度だけ実行されるCONFIG.SYS記述する以外の方法では直接読み込むことができない

※この「実行ファイル」の解説は、「MS-DOS」の解説の一部です。
「実行ファイル」を含む「MS-DOS」の記事については、「MS-DOS」の概要を参照ください。

ウィキペディア小見出し辞書の「実行ファイル」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

実行ファイル



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

「実行ファイル」に関係したコラム

辞書ショートカット

すべての辞書の索引

「実行ファイル」の関連用語

1
実行可能コード デジタル大辞泉
100% |||||

2
実行可能ファイル デジタル大辞泉
100% |||||

3
実行形式ファイル デジタル大辞泉
100% |||||

4
EXEファイル デジタル大辞泉
74% |||||

5
ロード‐モジュール デジタル大辞泉
74% |||||


7
56% |||||

8
56% |||||

9
56% |||||


実行ファイルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



実行ファイルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの実行ファイル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのMS-DOS (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Text is available under Creative Commons Attribution-ShareAlike (CC-BY-SA) and/or GNU Free Documentation License (GFDL).
Weblioに掲載されている「Wiktionary日本語版(日本語カテゴリ)」の記事は、Wiktionaryの実行ファイル (改訂履歴)の記事を複製、再配布したものにあたり、Creative Commons Attribution-ShareAlike (CC-BY-SA)もしくはGNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS