DLL Hell の終焉
【外部リンク】
https://msdn.microsoft.com/ja-jp/library/ms811694.aspx
DLL Hell の終焉
Rick Anderson
Microsoft Corporation
January 2000
日本語版最終更新日 2000年3月2日
要約: 3 種類の 「DLL Hell」 を説明します。また、DLL の互換性の問題を解決するため、DLL Universal Problem Solver (DUPS) パッケージをどのように使用できるかを検討します。
【外部リンク】
https://msdn.microsoft.com/ja-jp/library/ms235265.aspx
Visual C++ アプリケーションの依存関係の理解
Visual Studio 2015 その他のバージョン
Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。
アプリケーションがどの Visual C++ ライブラリに依存しているかを確認するには、プロジェクトのプロパティを表示します (ソリューション エクスプローラーでプロジェクトを右クリックし、[プロパティ] を選択して、[プロパティ ページ] ダイアログ ボックスを開きます)。 また、Dependency Walker (depends.exe) を使用して、全体的な依存関係をより包括的に把握することもできます。
[プロパティ ページ] ダイアログ ボックスで、[構成プロパティ] にあるさまざまなページを確認して、依存関係を把握できます。 たとえば、プロジェクトで MFC ライブラリが使用されている場合、[MFC の使用]、[構成プロパティ] の [共有 DLL で MFC を使う]、[全般] ページの順に選択すると、実行時のアプリケーションが mfc<version>.dll などの MFC DLL に依存していることがわかります。 アプリケーションで MFC を使用していない場合は、[構成プロパティ] の [マルチスレッド デバッグ DLL (/MDd)] または [マルチスレッド DLL (/MD)] の [ランタイム ライブラリ]、[C/C++]、[コード生成] ページの順に選択すると、そのアプリケーションは CRT ライブラリに依存している可能性があります。
アプリケーションが依存する DLL を確認する包括的な方法は、Dependency Walker (depends.exe) を使用してアプリケーションを開くことです。 Dependency Walker Web サイトからツールをダウンロードすることができます。
http://www.dependencywalker.com/
Dependency Walker 2.2
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.