このキーワード
友達に教える
URLをコピー

実行ファイルとは?

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

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

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

実行ファイルの生成

オブジェクトファイル」も参照

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

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

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

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

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


脚注

  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
2020/04/06 00:53

HAPPY Wikipedia

あなたの考える「実行ファイル」の意味を投稿しよう
「実行ファイル」のコンテンツはまだ投稿されていません。
全部読む・投稿 

実行ファイルスレッド一覧

・・・・・・・・・・・・・・・・・・
「実行ファイル」のスレッドを作成する
実行ファイルの」
友達を探す
掲示板を探す
このページ
友達に教える
URLをコピー

注目のキーワード

錦織圭/北島康介/2014_FIFAワールドカップ・アジア予選/サッカー日本女子代表/消費税/東京スカイツリー/ダルビッシュ有/イチロー/香川真司/野田内閣/復興庁/石川遼/HKT48/AKB48/ワールド・ベースボール・クラシック日本代表/黒田博樹/尖閣諸島/バレンタインデー/ONE_PIECE

キーワードで探す

 
友達を探す
掲示板を探す
ハッピーWiki
ハッピーメール
ハッピーランド
HAPPY NEWS
2010Happy Mail