バイナリコード

作成:2023-04-04 14:27
更新:2023-04-04 14:27
概要
「バイナリコード」について説明したページです。「バイナリコード」は、プログラムの一つの形式で、機械語に近い形式で書かれたもののことです。

注記

このページ「バイナリコード」は、 オブジェクトコードのエイリアス(別名ページ)です。

用語

「オブジェクトコード」(object code)/「バイナリコード」(binary code)についての説明です。

説明

student
生徒

オブジェクトコードとは何ですか?

teacher
先生

オブジェクトコードとは、プログラムの形式の一つで、コンピュータが実行できる言語やコード体系で記述されたものです。通常は人間が直接記述することはなく、ソースコードから変換して生成されます。オブジェクトコードは、機械語による命令を並べたプログラムであり、コンピュータの中央処理装置(CPU/マイクロプロセッサ)が機種ごとに直接実行できるようになっています。

student
生徒

オブジェクトコードとソースコードの違いは何ですか?

teacher
先生

オブジェクトコードとは、プログラムがコンピュータに実行される形式の一つで、ソースコードから変換して生成されます。一方、ソースコードはプログラムを記述するためのテキスト形式で、人間が理解しやすい形式で書かれています。つまり、オブジェクトコードはコンピュータが実行できる形式であり、ソースコードは人間が読み書きする形式であると言えます。

student
生徒

オブジェクトコードはどのように生成されるのですか?

teacher
先生

オブジェクトコードは、通常はソースコードから変換することで生成されます。この変換のことを「コンパイル」と言います。コンパイラというソフトウェアを使用することで、ソースコードからオブジェクトコードへ変換することができます。また、オブジェクトコードはリンカというソフトウェアを使用することで、複数のオブジェクトコードを結合することもできます。

student
生徒

オブジェクトコードと機械語の違いは何ですか?

teacher
先生

オブジェクトコードと機械語は、非常に近い関係にあります。オブジェクトコードは、機械語による命令を並べたプログラムであり、コンピュータの中央処理装置(CPU/マイクロプロセッサ)が機種ごとに直接実行できるようになっています。つまり、オブジェクトコードは機械語に非常に近い形式で記述されていると言えます。

student
生徒

なるほど

teacher
先生

しかし、オブジェクトコードは、機械語よりも抽象度が高く、より人間に理解しやすい形式で書かれています。また、機械語はCPUごとに異なる命令セットを持っており、直接人間が記述することは非常に困難です。オブジェクトコードは、ソースコードを変換することで生成されるため、プログラマが直接機械語を書く必要はありません。

student
生徒

オブジェクトコードを変換することをコンパイルと言うんですね。それとリンクとは何ですか?

teacher
先生

そうですね。オブジェクトコードを生成する過程を「コンパイル」と言います。また、複数のオブジェクトコードを結合することを「リンク」と言います。リンカというソフトウェアを使用することで、複数のオブジェクトコードを一つの実行可能なプログラムに結合することができます。例えば、複数のソースコードからそれぞれオブジェクトコードを生成し、それらを結合して一つのプログラムにすることができます。

student
生徒

オブジェクトコードはどのように実行されるのですか?

teacher
先生

オブジェクトコードは、コンピュータのCPUが直接実行することができます。プログラムを実行する際には、オブジェクトコードがメモリに読み込まれ、CPUが命令を順番に実行していきます。オブジェクトコードは機械語に非常に近い形式で書かれているため、CPUが理解しやすく、高速に実行することができます。

まとめ

「オブジェクトコード」(object code)/「バイナリコード」(binary code)とは、プログラムの一つの形式で、機械語に近い形式で書かれています。

ソースコードからコンパイルすることで生成され、機械語による命令を並べたプログラムです。

CPUが直接実行できるようになっており、高速で実行することができます。

オブジェクトコードは、ソースコードを直接書くことはできず、コンパイルを経て生成されます。

複数のオブジェクトコードを結合することで、一つの実行可能なプログラムを作ることができます。

よく見られているページ
最新(80件表示 / 全317件中)
ランダム(20件表示)
全単語