コンピュータ

ネイティブコードとは

ネイティブコード

ネイティブコードとは

ネイティブコード(英:native code)とは、コンピュータのCPU(マイクロプロセッサ)が理解できる形式(機械語)で記述されたプログラムのことです。オブジェクトコードとも呼ばれています。

機械語の命令形式はCPUの種類によって異なります。

一般的に同じメーカーのCPUであれば、プロセッサ製品間は同じ命令セット(機械語で記述された命令の集まり)を共有するが、メーカーが異なれば命令セットも変わり(異なるメーカーでも同じ命令セットの場合もある)、ネイティブコードはCPUに依存しています。

ネイティブコードとオブジェクトコードの違い

プログラミング言語は人間が解釈しやすいように作られているため、プログラミング言語で記述した「ソースコード」をコンピュータは理解できません。そのためコンパイラインタプリタなどを使い、コンピュータが理解できる形式(ネイティブコード、オブジェクトコード)に変換してから実行します。

次の図は、コンパイラのイメージ例です。

コンパイラのイメージ例

コンパイラは、プログラミング言語で書かれた「ソースコード」を入力とし、コンピュータが理解できる機械語で記述されたオブジェクトコード(ネイティブコード)を生成します。

オブジェクトコードとネイティブコードは同じ意味の言葉(どちらもコンピュータが直接解釈・実行できる形式のコード)ですが、コンパイラなどによって変換されたコードをオブジェクトコード、オブジェクトコードの中でも特定のCPU(マイクロプロセッサ)専用に変換されたコードのことをネイティブコードと呼ぶことが多いです。