program library: プログラムライブラリ
上智大学 伊藤 潔
2010年1月4日
プログラムライブラリ (program library) には,ソ−スプログラムライブラリ,オブジェクトプログラムライブラリ,ロ−ドプログラムモジュ−ルライブラリがあります.これらは,メ−カに供給されたものが多いですが,ユ−ザが作った品質の高いプログラムのときもあります.
ソ−スプログラムライブラリ(source program library) は,コンパイルを受ける前のソ−スプログラムにプリプロセッサ(preprocessor)を用いて組み込んで,一緒にコンパイル(compile)されるソ−スプログラムコ−ド群です.多くの人たちの間で高い頻度で共通に使われるソ−スプログラムがこの候補となります.
オブジェクトプログラムライブラリ(object program library) は,サブル−ティン(subroutine)やプロシージャ(procedure)の単位で,コンパイルした後のオブジェクトプログラムモジュ−ル群です.数値計算パッケ−ジ,変数型変換パッケ−ジ等や,高い頻度で共通に使われるサブル−ティンやプロセジュアがこの候補です.
ロ−ドプログラムライブラリ(load program library) は,すぐに計算機で実行できるロ−ドプログラム群です.高い頻度で共通に使われるプログラムです.
オブジェクトプログラムのライブラリ形式と非ライブラリ形式の違いを述べます.
作成済みの多くのプログラムを再利用する時に備えるために,これらをプロシージャやサブル−チンの形式でオブジェクトプログラムモジュ−ルのライブラリ形式のファイルとして格納する場合と,非ライブラリ形式のファイルとして格納する場合があります.いずれの場合でも再利用する場合,それらを使う呼び出し側のソ−スプログラムのみを書きます.
呼び出し側のソ−スプログラムをコンパイルした後のリンキングは.非ライブラリ形式の場合,呼び出しの有無にかかわらず,ファイルに入っている全てのオブジェクトプログラムモジュ−ルがロ−ドプログラムモジュ−ルの中に組み込まれることになります.一方,ライブラリ形式の場合,呼び出されたオブジェクトプログラムモジュ−ルのみがロ−ドプログラムモジュ−ルの中に組み込まれます.
ロ−ドプログラムモジュ−ルのサイズが非ライブラリ形式の場合より小さくなります.必要なものだけを結合するためには,ライブラリ形式で登録しておく必要があります.
実行時に必要に応じて組み込まれる場合,runtime libraryと呼びます.
program library | プログラムライブラリ | ||
source program library | ソ−スプログラムライブラリ | ||
object program library | オブジェクトプログラムライブラリ | ||
load program library | ロ−ドプログラムライブラリ | ||
preprocessor | プリプロセッサ | ||
compile | コンパイル | ||
subroutine | サブル−ティン | ||
procedure | プロシージャ | ||
runtime library | |||