web-dev-qa-db-ja.com

静的ライブラリがありますが、32ビットまたは64ビット用であることを知る簡単な方法はありますか?

ライブラリが32ビットまたは64ビット用に作成されているかどうかを直接テストできるツールはありますか?

56
user705414

/headersオプションでdumpbinユーティリティを使用できます

ライブラリが32ビットまたは64ビットのどちらのアーキテクチャ向けに構築されたかを返します。

詳細については、 here を確認してください。

使用例:

c:\>dumpbin libXYZ.lib /headers
49
Alok Save

Visual Studioコマンドプロンプトを実行して、パスがdumpbin.exeを見つけられることを確認します

Findstrにパイプして各セクションに関する大きな情報を保存し、オプションでワイルドカードを使用してライブラリのフォルダーを分析できます。

dumpbin /headers *.lib | findstr machine

探しているものの例;

8664 machine (x64)
52
Jet Set Willy

私はこれを試していませんが、file.exe、Windowsで同等のUNIX fileを使用することもできます。 here またはgnu version here からバイナリ(およびソース)をダウンロードできます。

0
Vikram.exe

Visual Studioでは、Coreflags.exeでLib/dllが32ビットか64ビットかを知ることができます。このツールはVisual Studioと共に自動的にインストールされます。このコマンドはコマンドラインから実行できます。

 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\CorFlags.exe whatever_Lib_with_path

このコマンドは、そのファイルが管理対象か管理対象外かを返します。 managedの場合、32/64ビットであるという情報を提供できます。

0
Ayush joshi