ランタイムライブラリの互換性とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > ランタイムライブラリの互換性の意味・解説 

ランタイムライブラリの互換性

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/13 22:03 UTC 版)

Microsoft Visual C++」の記事における「ランタイムライブラリの互換性」の解説

Visual C++ (以下VC) のCRT (C Runtime) ライブラリは、コンパイルオプションによって静的リンクあるいは動的リンク選択することができる。DLLおよびEXEVCランタイム動的リンクする場合、DLL/EXE自体ファイルサイズ削減できるなどのメリットがあるが、アプリケーションの実行にはVCバージョンごとのランタイムライブラリモジュールが実行環境に必要となる(例えばVC2010の場合は msvcr100.dll や msvcp100.dll など)。MFC/CLR/OpenMP/C++ AMP利用して作成されたDLL/EXEの場合はさらにそれぞれのランタイムライブラリが必要となる。エンドユーザー環境向けにVCランタイムライブラリの再頒布可能 (redistributable) パッケージインストーラー形式提供されているが、このインストーラーにはデバッグバージョンのライブラリ含まれないWindowsバージョンによっては、特定のバージョンVCランタイムサブセットシステムコンポーネントとしてプリインストールされている。 VCランタイムライブラリは、バージョンごとにCRTオブジェクトメモリ管理なされていた。そのため、異なるバージョンVC間でDLL境界越えてCRTオブジェクト寿命管理することはできなかった。例えば古いバージョンVC作成されDLL内でmalloc/newしたオブジェクトを、新しバージョンVC作成されアプリケーションでfree/deleteしたり、逆に新しVC作成されDLL内でmalloc/newしたオブジェクトを、古いVC作成されアプリケーションでfree/deleteしたりすることは、ヒープ破壊などの実行時エラー未定義動作を招く原因となる。メモリ確保解放モジュールごとに閉じてなければならず、モジュール外に確保解放の処理を公開するためにはDLL関数によるラッピングが必要となる。 VC2015ではUniversal CRT導入され、またVC2017およびVC2019ではランタイム破壊的変更がなくVC2015との互換性があるため、一定の条件満たされればDLL境界越えてCRTオブジェクト寿命管理することができる。Windows 10場合Universal CRTシステムコンポーネントとして標準インストールされているが、それよりも前のバージョンWindowsではWindows Updateや再頒布可能パッケージによるシステムディレクトリへのインストール集中配置)、あるいはアプリケーションごとのローカル配置などの手段を利用する必要がある。 「Microsoft Foundation Class」も参照

※この「ランタイムライブラリの互換性」の解説は、「Microsoft Visual C++」の解説の一部です。
「ランタイムライブラリの互換性」を含む「Microsoft Visual C++」の記事については、「Microsoft Visual C++」の概要を参照ください。

ウィキペディア小見出し辞書の「ランタイムライブラリの互換性」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ランタイムライブラリの互換性」の関連用語

ランタイムライブラリの互換性のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ランタイムライブラリの互換性のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのMicrosoft Visual C++ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS