检测一个DLL文件是x64还是x86
对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform?
Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Command Prompt中的。使用方法如下,打开Developer Command Prompt,输入corflags命令,并且输入dll的详细路径,比如corflags C:\Temp\Oracle.DataAccess.dll,就能看到如下截图所示的结果。
这个结果是什么意思?其实,我们不需要弄清楚每个字段是什么意思。这里有一张结果对比表,只要我们根据结果,去表中对比,就能得出这个dll是什么平台的。
| Any CPU | PE32 with 32BIT = 0 |
| x86 | PE32 with 32BIT = 1 |
| x64/Itanium (IA-64) | PE32+ with 32BIT = 0 |
再看第一张截图,PE32+,32BIT=0,所以是64位的dll.
Oracle.DataAccess.dll 版本查看
corflags C:\app\Administrator\product\11.2.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll
检测一个DLL文件是x64还是x86的更多相关文章
- C#中用ILMerge将所有引用的DLL打成一个DLL文件
有些文件是必须一起使用的,如果能把多个DLL打包成一个DLL文件,那么引用文件的时候就不需要一个个地去引用,而且每次移动文件的时候也不至于少了哪个必须的DLL文件. 多个DLL文件打包成一个DLL文件 ...
- 为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?
项目中有一个.NET Core控制台项目叫ConsoleCoreApp,写好代码后准备发布: 结果发布后生成的是一个dll文件...为不是一个exe的可执行文件: 后来了解到.NET Core的项目分 ...
- Visual Studio 2012网站如何只生成一个DLL文件
简介: 在Visual Studio 2005,2008,2010版本中,都有Web Deployment工具将网站进行发布,所有代码文件和库文件发布,生成为一个动态链接库文件,而在Visual St ...
- 【C#程序集】为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?
因为 .NET Core 的控制台应用默认是生成 dll 文件,而没有对应的 exe 文件.如下图所示,是在VS中编译后生成的结果 图中看到的TestVisualizer.exe 只是一个快捷方式, ...
- C#像运行一个exe 程序一样运行一个dll文件
[DllImport("kernel32.dll")] public static extern int WinExec(string exeName, int operType) ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑(很详细,还有自动动手编程探测dll)
阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑【转发】
原文地址:http://www.cnblogs.com/hbccdf/archive/2014/03/09/3590916.html 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问 ...
- VS2017生成一个简单的DLL文件 和 LIB文件——C语言
下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件)和lib文件(静态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件(动态库文件) 生成动态库文件 姿势一 ...
随机推荐
- Docker容器技术-第一个容器
一.第一个容器 1.Docker版本 A.community-edition社区版 Docker CE是免费的Docker产品的新名称,Docker CE包含了完整的Docker平台,非常适合开发人员 ...
- Qt编译器
有两种,MSVC和MINGW Qt 中有两种方式编译,一种是MinGW ,另一种MSVC. MSVC是指微软的VC编译器: MingGW是指是Minimalist GNU on Windows的缩写. ...
- Java 类及类的构造方法
类 类是一个模子,确定对象将会拥有的特性(属性)和行为(方法). 类的特点 类时对象的类型 具有相同属性和方法的一组对象的集合 构造方法 作用就是对类进行初始化. 如果你没有定议任何构造方法的形式,J ...
- ubuntu centos macos 配置上网代理
因为我国强大的GFW,导致很多国外的应用无法安装,因为需要在系统中配置http/https代理. Ubuntu代理配置 配置方式非常简单,在~/.bashrc文件中增加: echo "exp ...
- setfacl设置特定目录的权限
现有一目录是虚拟机和linux共享的,但是每次程序调用新建的文件都发现没有权限. 于是指定特定目录及其子目录下新建的文件或目录对于用户qhfz都有读写执行的权限 -R表示递归 -m表示设置文件acl规 ...
- hive学习6
将查询结果集写入另一个表中的时候报了这个错,Dynamic partition strict mode requires at least one static partition column. T ...
- Python中MySQL插入数据
sql = 'INSERT INTO course(class_name, credit, properties, teacher_name, college_given, classroom) ' ...
- NSRegularExpression iOS自带的正则表达式
以前做验证邮箱,电话号码的时候通常用第三方的正则表达式或者NSPredicate(点这里查看以前的文章),在后期,苹果推出了自己的正则表达式来提供给开发者调用,很方便,功能也强大. 具体可以查看官方文 ...
- cassandra集群环境搭建——注意seeds节点,DHT p2p集群管理难道初始化都应如此吗?
解压cassandra的安装包后可以查看主要的配置文件,都在conf/目录下,conf/cassandra.yaml比较重要,其中需要着重注意的有以下一些配置项: cluster_name: 'TC0 ...
- Python学习之路day4-函数高级特性、装饰器
一.预备知识 学习装饰器需理解以下预备知识: 函数即变量 函数本质上也是一种变量,函数名即变量名,函数体就变量对应的值:函数体可以作为值赋给其他变量(函数),也可以通过函数名来直接调用函数.调用符号即 ...