ランタイムライブラリ
ランタイムライブラリの最新ニュースをまとめて検索!
ランタイムライブラリ(英: run-time library)は、プログラムを実行するために必要なライブラリのこと。ランタイムとは「実行時」という意味である。単にランタイムという場合もある。
[編集] 概要
簡単な機械語命令に置き換えられる文、例えば整数型変数の加算、比較等はプログラム中に現れる毎にオブジェクトコードの中に埋め込んでいけばいい。ところが、書式付入出力(Cでいえばprintf関数、Pascal/Modula-2等でいえばWRITE手続等)等のように複雑で、しかもプログラム中の複数の部分から呼び出される可能性の高いルーチンは、コンパイラが生成するコードと別に準備して呼び出す方が目的プログラムをコンパクトにできる。このような実行時に必要なルーチンをライブラリ化したものをランタイムライブラリ(または実行時ライブラリ)と呼ぶ。
ランタイムライブラリは、リンカを用いて各プログラムに付け加える(静的リンク)か、プログラムの実行時に読み込まれてメモリに展開される(動的リンク)。ランタイムライブラリは処理系に依存することが多く、静的リンクの場合はプログラムを別の処理系で動作させるために再度のリンクが必要となる。動的リンクは、プログラム開始時にオーバーヘッドが必要であり、過去の処理系では実用上の問題があったが、処理の高速化、外部記録入出力の高速化により無視できる程度になっているため、現在では広く使用される。
たとえば、Visual Basicで書かれたプログラムは、Microsoft社から無料で配布されているランタイムライブラリと動的リンクして動作するため、ランタイムライブラリをパソコンにインストールしていないと動かないことがある。 また、Visual C++やC++ Builderといった他の言語でも大抵はランタイムライブラリがある。見かけ上インストールが不要なものはAPIやフレームワークとしてオペレーティングシステムが持っているか、プログラム中に組み込んでしまっている。
マルチタスクOSの場合、同時に動作している複数のタスクが同じライブラリファイルを参照する可能性がある。同じファイルを参照するならば、それぞれのタスク毎にライブラリをロードするのではなく、ある同一のメモリ空間内のライブラリを共有すると効率が良い。これを共有ライブラリと呼ぶ。この場合、実行時に当該ライブラリがロードされていない場合は、OSの機能を用いてライブラリをロードする必要がある。逆に、当該ライブラリを必要とするタスクが存在しなくなれば、メモリ空間からそのライブラリを取り除くことができる。
上記の各製品のランタイムライブラリは共有ライブラリとして実装されている。詳細についてはダイナミックリンクライブラリ及びライブラリを参照されたい。ダイナミックリンクライブラリは言語処理系メーカから供給されるだけでなく、OS自体の機能に関わるものはOSメーカからも供給される。
.NET FrameworkやDirectXもランタイムライブラリの一種という側面を持っている。
最終更新 2009年9月16日 (水) 11:26 (日時は個人設定で未設定ならばUTC)。
【ランタイムライブラリ】変更履歴

