マネージ コードからネイティブ DLL のアーキテクチャを特定する方法
マネージ コード アプリケーションで、ネイティブ DLL のアーキテクチャ (x64 または x86) を決定するネイティブ アセンブリは、互換性を確保するために非常に重要な場合があります。 PE ヘッダーにはこの情報が含まれていますが、直接解析するのは難しい場合があります。
DUMPBIN ユーティリティの使用
DUMPBIN ユーティリティは、PE ヘッダーのアーキテクチャを取得する効率的な方法を提供します。ネイティブ DLL。 /headers または /all フラグを渡すと、マシン タイプを含む PE ヘッダーを表示できます。
64 ビット DLL:
dumpbin /headers cv210.dll |find "machine" 8664 machine (x64)
32 ビットDLL:
dumpbin /headers acrdlg.dll |find "machine" 14C machine (x86)
代替メソッド
高度なシナリオでは、ネイティブ C を使用して PE ヘッダーを手動で解析できます。ただし、DUMPBIN ユーティリティを使用すると、ほとんどの場合、プロセスが簡素化されます。
注: PE ヘッダーのマシン タイプ フィールドは、DLL の意図されたアーキテクチャを示しており、必ずしも実際のアーキテクチャと一致するとは限りません。実行されているシステムのビット数。
以上がマネージ コードからネイティブ DLL のアーキテクチャ (x86 または x64) を判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。