オブジェクトファイル | Programming Place Plus 用語集

トップページ用語集

名称 🔗

解説 🔗

ソースコードを変換して得られた機械語コードオブジェクトコード)を、ファイルとしてまとめたものです。

オブジェクトファイルは機械語の形式になっており、コンピュータが直接解釈できます。ただし、実行できるかどうかは場合によります。オブジェクトファイルの中でも、そのまま実行可能であるものを、実行可能ファイルと呼びます。

たとえば、C言語のほとんどの処理系では、1つ1つのソースファイルコンパイルすることで、それぞれに対応するオブジェクトファイルを得られます。この時点では実行することはできません。そこで、リンカを使ってオブジェクトファイルを結合(リンク)して、1つの実行可能ファイルを生成します。

オブジェクトファイルには、ソースコードを変換したコードのほかにも、最適化のための情報や、デバッグを助けるための情報といった追加情報が書き込まれていることがあります。

最適化のための情報とは、たとえば、リンクの過程で最適化を行うための情報です。前述した生成手順の例のように、オブジェクトファイルは1つ1つのソースファイルに対応したものであって、互いのことは関知しません。しかし、グローバル変数関数呼び出しのように、互いを行き来するようなコードは当然あり得ます。そのため、互いのことをより多く知っていれば、その情報を利用した高度な最適化を実現できる場合があります。このようなプログラム全体を巻き込んだグローバルな最適化を行うタイミングとして、リンクの過程が利用でき、その際に使う情報をコンパイルのときに、オブジェクトファイルに埋め込んでおくことがあります。

デバッグを助けるための情報とは、たとえば、変数や関数などの名前(シンボル識別子と呼ばれる)やなどの情報です。プログラムの実行のためには、こういった情報は必要ありませんが、デバッグ時には助けになります。デバッガで変数のを確認するときなどに、変数名の一覧が表示できているのは、こういった情報があるからです。


参考リンク 🔗

更新履歴 🔗


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る