Windows,DLLが32bitか64bitかを確認する

スポンサーリンク

鍛錬 791

Windows,DLLが32bitか64bitかを確認する

DLLが32bitか64bitかを確認するには、Visual Studio の dumpbin を使用します。
 
使用方法は、以下に示す通りです。

dumpbin /HEADERS “DLLのパス” | findstr machine

オプション

以下は、上記のオプションについてです。

オプション 機能
/HEADERS ヘッダ情報を出力する
 
スポンサーリンク

見分け方

以下は、出力結果の見分け方についてです。

出力結果 種別
14C machine (x86) 32bit
8664 machine (x64) 64bit

DLLのファイルフォーマット

DLLのファイルフォーマットはPEフォーマットであるため、COFFファイルヘッダのMachineフィールドを確認することにより、どのマシンをターゲットにして作成されたDLLなのかを判断することができます。

COFFファイルヘッダのMachineフィールドにおける、32bitと64bitの値は以下の通りです。

種別 定数
32bit IMAGE_FILE_MACHINE_I386 0x14c
64bit IMAGE_FILE_MACHINE_AMD64 0x8664

実行結果

以下は、Visual Studio のプロンプトを使用して、指定したDLLが32bitか64bitかを確認しています。

今回は、「AAA.dll」を32bit、「BBB.dll」を64bitとして作成しています。

32bitの場合

以下は、32bitのDLLについて確認しています。

C:\Users\john\Desktop>
C:\Users\john\Desktop>dumpbin /HEADERS "C:\Users\john\Desktop\AAA.dll" | findstr machine
             14C machine (x86)
                   32 bit word machine

64bitの場合

以下は、64bitのDLLについて確認しています。

C:\Users\john\Desktop>
C:\Users\john\Desktop>dumpbin /HEADERS "C:\Users\john\Desktop\BBB.dll" | findstr machine
            8664 machine (x64)
スポンサーリンク

シェアする

フォローする