|
|
== 処理系との関係 ==
ラインタイムライブラリは通常のライブラリと異り言語機能を支える側面から処理系の一部という性格が強い。特に[[C++]]では、例外処理や、new、delete、コンストラクタ付きの静的変数といったコンパイル時のコード生成では冗長でコードが肥大化してしまう言語機能が存在し、それらの機能はラインタイムライブラリーの関数に依存している。他の言語でもっと大きなものの例としては[[ガベージコレクション]]の機能などがある。{{要出典|date=2018年1月}}このため通常のライブラリと異なりラインタイムライブラリは明示的にリンクしなくても処理系の[[リンケージエディタ|リンカー]]によって自動でリンクされる。また、ラインタイムライブラリーはデバッグ用など用途に応じて一つの環境に複数存在するが、処理系のリンカーはコンパイルオプションやリンクオプションに応じて適切なランタイムライブラリを選択する。<ref name=":0" />
必然的にリンクされるものであり、インタフェース的にも密結合であることから、([[動的リンク]]がサポートされている環境でも)[[静的リンク]]されることも多い。同様に、[[ダイナミックリンクライブラリ]]で提供されていて動的リンクする場合でも、必要に応じ逐次リンクする{{要出典|date=2018年1月}}のではなく、プロセスの起動時に一括リンクされることもある。
|