プログラムとCPU
◯CPU
・CPUはそれぞれ固有のマシン語しか理解できない
・CPUの種類によって理解できるマシン語も異なる
◯マシン語
・0,1の2進数(1bit)1からなる配列
◯ネイティブコード
・1bit配列に変換されたプログラム
(=マシン語に変換されたプログラム)
⇨CPUが異なれば、理解できるネイティブコードも異なる
◯プログラムソースが異なるマシンでどうやって動作するか
コンパイラがコンパイル時にCPUごとのネイティブコードに変換している。
※言語によってそれぞれコンパイラがある
◯コンパイラ
・コンパイラの仕事
ネイティブコードへ変換したオブジェクトファイルの作成
(オブジェクトファイルは動作しない)
◯リンカ
・リンカの仕事
オブジェクトファイルを必要な外部ファイルと結合し、実行ファイルを作成する
ビルドはリンカーとコンパイラの作業をまとめて行っている
参考:リンケージエディタ
◯ライブラリファイル
複数のオブジェクトファイルをまとめたもの。実行できないファイル
・ライブラリファイルの中身
・外部にあるオブジェクトファイル参照情報
・オブジェクトファイル
参考:ライブラリ
※間違いなどありましたらご指摘よろしくおねがいします
プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識
- 作者: 矢沢久雄
- 出版社/メーカー: 日経ソフトウエア
- 発売日: 2007/04
- メディア: 単行本(ソフトカバー)
- 購入: 45人 クリック: 646回
- この商品を含むブログ (75件) を見る