如何找到,如果本机的DLL文件编译为64位或x86? [英] How to find if a native DLL file is compiled as x64 or x86?
本文介绍了如何找到,如果本机的DLL文件编译为64位或x86?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想,以确定是否本地组件符合从有管理的code应用程序的x64或x86( C#)。
I want to determine if a native assembly is complied as x64 or x86 from a managed code application (C#).
我认为,必须在某个地方的PE头,因为操作系统加载器需要知道这个信息,但我怎么也找不到它。当然,我preFER做到在管理code,但如果有必要,我可以用本地C ++。
I think it must 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 了。使用 /头
或 /所有
标记和它的第一个文件头上市。
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文件编译为64位或x86?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文