如果知道dll文件是面向32位系统还是面向64位系统的?
2012-05-23 14:06
267 查看
/article/5208494.html
在发布dll时,可以选择编译为x86模式、x64模式以及Any Cpu模式等。那么对于已经发布的dll文件,怎么知道它是支持什么系统的呢?
方法一:Reflector
对于.Net dll文件,用Reflector工具可进行辨别:
其中的Platform Target就指明了该dll在编译时选择的目标系统。
方法二:CorFlags.exe工具
使用Vistual Studio.Net自带的corflags工具,先打开vs.net 命令窗口:
输入coreflags <assembly path>:
其中PE和32BIT的值可以看出该dll支持的系统位数:
anycpu: PE = PE32 and 32BIT = 0
x86: PE = PE32 and 32BIT = 1
x64: PE = PE32+ and 32BIT = 0
(可参考:http://blogs.msdn.com/b/gauravseth/archive/2006/03/07/545104.aspx)
方法三:Dumpin.exe工具
通过Vs.net tools中所带的dumpin命令可以查看:
dumpbin /headers <assembly path>
查看machine相关属性可辨别其支持的系统位数。
该方法还可以查看非.Net编译的dll信息。
=======================================================================
野文(Jasson Qian)
------------------------------------------------------
博客园:http://qguohog.cnblogs.com
CSDN:http://blog.csdn.net/sallay
在发布dll时,可以选择编译为x86模式、x64模式以及Any Cpu模式等。那么对于已经发布的dll文件,怎么知道它是支持什么系统的呢?
方法一:Reflector
对于.Net dll文件,用Reflector工具可进行辨别:
其中的Platform Target就指明了该dll在编译时选择的目标系统。
方法二:CorFlags.exe工具
使用Vistual Studio.Net自带的corflags工具,先打开vs.net 命令窗口:
输入coreflags <assembly path>:
其中PE和32BIT的值可以看出该dll支持的系统位数:
anycpu: PE = PE32 and 32BIT = 0
x86: PE = PE32 and 32BIT = 1
x64: PE = PE32+ and 32BIT = 0
(可参考:http://blogs.msdn.com/b/gauravseth/archive/2006/03/07/545104.aspx)
方法三:Dumpin.exe工具
通过Vs.net tools中所带的dumpin命令可以查看:
dumpbin /headers <assembly path>
查看machine相关属性可辨别其支持的系统位数。
该方法还可以查看非.Net编译的dll信息。
=======================================================================
野文(Jasson Qian)
------------------------------------------------------
博客园:http://qguohog.cnblogs.com
CSDN:http://blog.csdn.net/sallay
相关文章推荐
- 如果知道dll文件是面向32位系统还是面向64位系统的?
- (转)如果知道dll文件是面向32位系统还是面向64位系统的?
- 如果知道dll文件是面向32位系统还是面向64位系统的?
- 如何知道自己的系统是32位的还是64位的图文方法
- 如何查看电脑是32位的(X86)还是64位的(X64),如何知道自己的硬件是否支持64位系统?
- 【搜集】知道自己的电脑是32位系统还是64位系统的方法
- 怎么知道当前Ubuntu系统是32位还是64位?
- Shell脚本判断Linux系统是32位还是64位的几种方法分享
- Win10系统电脑如何查看是32位还是64位
- 如何查看mac系统是32位还是64位的操作系统
- 究竟选择32位还是64位Linux系统?
- 如果系统能够保证不在0x000000007fffffff以上的地址分配内存,那么应用程序就能够正常运行。把一个高33位都为0的64位地址截断为32位地址,无论如何都不会产生问题。系统可以提供这一保证,
- 编程确定系统是32位还是64位
- VC判断系统和进程是64位还是32位
- Linux系统查看系统是32位还是64位方法总结
- 如何查询centos查看系统内核版本,系统版本,32位还是64位
- VC判断系统和进程是64位还是32位
- 转载:查看linux系统版本是32位的还是64位的
- C# 如何判断系统是64位还是32位
- C# 判断32位还是64位系统的一个简单方法(当然目标平台不能是x86)