如何查找本机 DLL 文件是编译为 x64 还是 x86? [英] How to find if a native DLL file is compiled as x64 or x86?
本文介绍了如何查找本机 DLL 文件是编译为 x64 还是 x86?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想确定从托管代码应用程序 (C#).
I want to determine if a native assembly is complied as x64 or x86 from a managed code application (C#).
我认为它必须在 PE 标头中的某个位置,因为 OS 加载程序需要知道此信息,但我找不到它.当然我更喜欢用托管代码来做,但如果有必要,我可以使用原生 C++.
I think it must be somewhere in the PE header since the OS loader needs to know this information, but I couldn't find it. Of course I prefer to do it in managed code, but if it necessary, I can use native C++.
推荐答案
您可以使用 DUMPBIN 也是.使用 /headers
或 /all
标志及其列出的第一个文件头.
You can use DUMPBIN too. Use the /headers
or /all
flag and its the first file header listed.
dumpbin /headers cv210.dll
64 位
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 位
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' can make life slightly easier:
dumpbin /headers cv210.dll |find "machine"
8664 machine (x64)
这篇关于如何查找本机 DLL 文件是编译为 x64 还是 x86?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文