Programming/C++

Dumpbin을 사용해보자! [Dependents, Headers]

Teemol 2019. 9. 24. 21:09

안녕하세요. Teemol입니다.

오늘은 VC++에 포함된 dumpbin을 이용해, .DLL 또는 .LIB의 정보를 알아보겠습니다.

이것저것 다양한 정보를 확인할 수 있지만 오늘 저는 DLL을 사용할 때 필요한 DLL이 무엇이 있는지 알아보도록 하겠습니다.


일단 dumpbin은 Microsoft Visual Studio 폴더에 있습니다.

Visual Studio의 버전마다 다른 폴더에 있는 것 같기 때문에 해당 폴더에서 "dumpbin.exe"를 검색해서 찾으면 될 것 같습니다.


dumpbin.exe가 있는 폴더에서 cmd를 실행한 뒤, 

dumpbin /dependents ".dll 경로" << 를 입력하면 아래와 같이 필요한 dll이 무엇인지 알 수 있습니다.



저의 경우 dumpbin.exe가 

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

위 폴더에 있었습니다.


위 폴더에서 cmd를 실행한 뒤,

명령어 dumpbin /dependents를 입력하고

제가 사용하는 DLL인 SavenZip.dll의 절대 경로인 "C:\Users\Administrator\Desktop\TEST\SevenZip.dll"를 뒤에 입력합니다.


그러면 결과로 필요한 DLL이 나타납니다!


또는 dumpbin /headers ".dll 경로" << 를 입력하면 비트 확인이 가능합니다.

출력 내용의 상단부분에 있는 FILE HEADER VALUES의 내용이 비트에 따라 아래와 같은 형식으로 표시됩니다.

machine (x86) 또는 machine(x64)로 표기됩니다.


감사합니다.