処理系との関係
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/12 10:56 UTC 版)
「ランタイムライブラリ」の記事における「処理系との関係」の解説
ランタイムライブラリは一般的なライブラリと異なり、言語機能を支える側面から処理系の一部という性格が強い。特にC++では、例外処理や、new、delete、ユーザー定義のコンストラクタを持つ型の静的変数といった、コンパイル時のコード生成では冗長でコードが肥大化してしまう言語機能が存在し、それらの機能は(共通化されたサブルーチンとしての)ランタイムライブラリの関数に依存している。他の言語でもっと大きなものの例としてはガベージコレクションの機能などがある[要出典]。このため一般的なライブラリと異なり、ランタイムライブラリは明示的にリンク指定をしなくても処理系のリンカによって自動でリンクされる。また、ランタイムライブラリはデバッグ用とリリース用など、用途に応じて一つの環境に複数存在するが、処理系のリンカはコンパイルオプションやリンクオプションに応じて適切なランタイムライブラリを選択する。 必然的にリンクされるものであり、インタフェース的にも密結合であることから、(動的リンクがサポートされている環境でも)静的リンクされることも多い。同様に、ダイナミックリンクライブラリで提供されていて動的リンクする場合でも、必要に応じて遅延ロードするのではなく、プロセスの起動時に一括で早期ロードされることもある。
※この「処理系との関係」の解説は、「ランタイムライブラリ」の解説の一部です。
「処理系との関係」を含む「ランタイムライブラリ」の記事については、「ランタイムライブラリ」の概要を参照ください。
- 処理系との関係のページへのリンク