マネージ コードでのネイティブ DLL のアーキテクチャの決定
ネイティブ DLL のアーキテクチャ (x64 または x86) を決定するには、次の手順を実行します。 PEヘッダーを利用します。この情報は、OS ローダーが DLL を正しく実行するために不可欠です。
このデータを抽出するオプションの 1 つは、DUMPBIN ユーティリティを使用することです。 /headers または /all フラグを使用すると、最初にリストされたファイル ヘッダーがアーキテクチャ情報を提供します。次に例を示します。
64 ビット DLL:
dumpbin /headers cv210.dll Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file cv210.dll PE signature found File Type: DLL FILE HEADER VALUES 8664 machine (x64) 6 number of sections 4BBAB813 time date stamp Tue Apr 06 12:26:59 2010 0 file pointer to symbol table 0 number of symbols F0 size of optional header 2022 characteristics Executable Application can handle large (>2GB) addresses DLL
32 ビット DLL:
dumpbin /headers acrdlg.dll Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file acrdlg.dll PE signature found File Type: DLL FILE HEADER VALUES 14C machine (x86) 5 number of sections 467AFDD2 time date stamp Fri Jun 22 06:38:10 2007 0 file pointer to symbol table 0 number of symbols E0 size of optional header 2306 characteristics Executable Line numbers stripped 32 bit word machine Debug information stripped DLL
プロセスを簡略化するには、次のように find を使用します:
dumpbin /headers cv210.dll |find "machine" 8664 machine (x64)
以上がマネージ コードを使用してネイティブ DLL のアーキテクチャ (x86 または x64) を決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。