Visual C++ の DLL
ダイナミック リンク ライブラリ (DLL) は、関数の共有ライブラリとして機能する実行可能ファイルです。 動的リンクを利用することによって、プロセスの実行コードに含まれない関数を呼び出すことができます。 関数の実行コードは、実際にその関数を使用するプロセスとは別に、複数の関数をコンパイル、リンクして格納した DLL に収められています。 DLL は、データやリソースの共有にも有効です。 メモリ内の DLL の内容には、複数のアプリケーションが同時にアクセスできます。
動的リンクは、実行モジュール (.dll ファイルまたは .exe ファイル) が使用する DLL 関数のコードの実行時での検索に必要な情報だけを含めることが可能な点で静的リンクと異なります。 静的リンクの場合、リンカーは参照される関数全部をスタティック リンク ライブラリから取得し、実行コード内に配置します。
静的リンクの代わりに動的リンクを使うと、いくつかの利点があります。 DLL の利点としては、メモリの節約、スワップの減少、ディスク領域の節約、アップグレードの簡便化、製品化後のサポートの提供、MFC ライブラリ クラスを拡張する機構の提供、多言語プログラムのサポート、各国対応バージョン作成の容易化が挙げられます。
次のトピックでは、DLL のプログラミングの詳細について説明します。
このセクションの内容
チュートリアル: ダイナミック リンク ライブラリの作成と使用 (C++)
Visual Studio を使用して DLL を作成および使用する方法について説明します。アプリケーションと DLL の違い
アプリケーションと DLL の基本的な違いについて説明します。DLL の利点
動的リンクの利点について説明します。DLL の種類
ビルドできる各種 DLL に関する情報を提供します。DLL に関してよく寄せられる質問
DLL に関してよく寄せられる質問への回答を示します。DLL と実行形式のリンク
DLL との明示的なリンクと暗黙的なリンクについて説明します。DLL の初期化
DLL の読み込み時に実行する必要がある、メモリの割り当てなどの DLL の初期化コードについて説明します。ランタイム ライブラリの動作
ランタイム ライブラリで DLL の起動処理をどのように実行するかについて説明します。LoadLibrary と AfxLoadLibrary
LoadLibrary と AfxLoadLibrary を使用して DLL と明示的にリンクする方法について説明します。GetProcAddress
GetProcAddress を使用して DLL のエクスポート関数のアドレスを取得する方法について説明します。FreeLibrary と AfxFreeLibrary
DLL モジュールが不要になったときの FreeLibrary と AfxFreeLibrary の使い方について説明します。Windows が使用する DLL 検索パス
システムの DLL を検索するときに Windows オペレーティング システムで使用される検索パスについて説明します。MFC と動的にリンクされるレギュラー DLL のモジュール状態
MFC と動的にリンクされるレギュラー DLL のモジュール状態について説明します。拡張 DLL
既存の MFC ライブラリ クラスから派生した再利用可能なクラスを主に実装する DLL について説明します。リソースのみの DLL の作成
アイコン、ビットマップ、文字列、ダイアログ ボックスなどのリソースだけを含む、リソースのみの DLL について説明します。MFC アプリケーションのローカライズされたリソース : サテライト DLL
混合言語にローカライズされるアプリケーションの作成に役立つ、サテライト DLL のサポートを強化します。インポートとエクスポート
アプリケーションへのパブリック シンボルのインポート、または DLL からの関数のエクスポートについて説明します。Active テクノロジと DLL
オブジェクト サーバーを DLL 内部に完全に実装できます。DLL でのオートメーション
MFC DLL ウィザードの [オートメーション] オプションについて説明します。MFC DLL の名前付け規則
MFC に含まれる DLL やライブラリに適用される一定の名前付け規則について説明します。DLL 関数の Visual Basic アプリケーションからの呼び出し方
Visual Basic アプリケーションから DLL 関数を呼び出す方法について説明します。
関連項目
DLL の構成要素としての MFC
MFC ライブラリを Windows ダイナミック リンク ライブラリの一部として使用できるレギュラー DLL について説明します。テクニカル ノート 33: MFC の DLL バージョン
MFC アプリケーションおよび拡張 DLL での MFCxx.dll および MFCxxD.dll (x は MFC のバージョン番号) 共有ダイナミック リンク ライブラリの使用について説明します。Common Programming Methodologies
Visual C++ ライブラリに関する概念を説明するトピックや、さまざまなコーディングの技術や技法について説明するトピックへのリンクがあります。