Windowsに実行可能ファイルがある場合は、DUMPBINユーティリティ(Visual Studioなどに含まれています)を使用してそのインポートセクションを表示できます。
インポートされたすべてのDLLのリストを取得するには、次のようなものを実行できます(任意の例)。
C:\Programme\GIMP-2.0\bin>dumpbin /IMPORTS gimp-2.4.exe | grep -i \.dll
libgimpcolor-2.0-0.dll
libgimpmath-2.0-0.dll
libgimpmodule-2.0-0.dll
libgimpthumb-2.0-0.dll
libgimpwidgets-2.0-0.dll
libart_lgpl_2-2.dll
libfontconfig-1.dll
freetype6.dll
libgdk-win32-2.0-0.dll
libgdk_pixbuf-2.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll
libgthread-2.0-0.dll
libgtk-win32-2.0-0.dll
intl.dll
libpango-1.0-0.dll
libpangoft2-1.0-0.dll
libgimpbase-2.0-0.dll
libgimpconfig-2.0-0.dll
KERNEL32.dll
msvcrt.dll
msvcrt.dll
USER32.dll
別の質問で、独立したDLLの場合、ローダー(DLLをアドレス空間にマップしてDllMain関数を呼び出すコンポーネント)が、インポートセクションに表示される順序でDLLをロードすることを推測しました。
注:ローダーは依存関係を解決する必要があるため、これは明らかに独立したDLLにのみ適用できます。そのため、他のDLLに依存するDLLは、常に次々とローダーになります。したがって、この質問は、独立した(システム以外の)DLLにのみ適用できます。
上記の私の(任意に選択された)例にとどまるために、
C:\Programme\GIMP-2.0\bin>dumpbin /IMPORTS libgimpcolor-2.0-0.dll | grep -i \.dll
Dump of file libgimpcolor-2.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll
msvcrt.dll
C:\Programme\GIMP-2.0\bin>dumpbin /IMPORTS libgimpmath-2.0-0.dll | grep -i \.dll
Dump of file libgimpmath-2.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll
msvcrt.dll
C:\Programme\GIMP-2.0\bin>dumpbin /IMPORTS libgobject-2.0-0.dll | grep -i \.dll
Dump of file libgobject-2.0-0.dll
libglib-2.0-0.dll
KERNEL32.dll
msvcrt.dll
C:\Programme\GIMP-2.0\bin>dumpbin /IMPORTS libglib-2.0-0.dll | grep -i \.dll
Dump of file libglib-2.0-0.dll
iconv.dll
intl.dll
ADVAPI32.DLL
KERNEL32.dll
msvcrt.dll
msvcrt.dll
OLE32.dll
SHELL32.DLL
USER32.dll
WS2_32.DLL
libgimpmath
その意味でlibgimpcolor
独立したDLLです。したがって、ここでの質問は次のようになります。ローダーはインポートセクションの最初に来るので、常にlibgimpcolor
前にロードされますか?libgimpmath