精华内容
下载资源
问答
  • 怎样判断一个exe可执行程序32位的还是64位的 拿到一个exe格式的可执行应用程序,想知道它在32位的电脑上能不能正常使用。一般来说在64位的windows7下,打开任务管理器可以知道哪些程序32位的哪些是64位的,但是...

    怎样判断一个exe可执行程序是32位的还是64位的

    拿到一个exe格式的可执行应用程序,想知道它在32位的电脑上能不能正常使用。一般来说在64位的windows7下,打开任务管理器可以知道哪些程序是32位的哪些是64位的,但是因为自己的电脑是64位的windows 10,在任务管理器中有些任务即使是32位的,也不提示。

    方法一

    首先,如果你使用的是64位的电脑,你可以尝试直接运行一下你的exe文件,然后打开任务管理器,一般来说进程信息后面标有32位(32bit)字样的都是32位的应用程序;而如果没有标记的,则不能判断是32位的还是64位的,只能说是64位程序的可能性更大。
    如果你使用的是32位的电脑,则可以运行的程序一定是32位的;而不可以运行的程序可能是64位的,也可能是程序存在问题或系统存在问题导致不能运行。
    这里写图片描述

    方法二

    可以看出上面的办法并不十分可靠。
    所以我们可以通过更直接的办法来判断。
    打开windows自带的“记事本”,并使用记事本直接打开你的exe文件。一定会出现一堆乱码。不要着急,只要看第二行即可,第二行开头不远处有PE两个字母,再后面两个空格后第三个字符就是标记了,如果是字母L的话,就是32位应用程序,如果是d?就表示是64位应用程序。
    如图,分别是32位程序和64位程序的截图。
    记事本1
    记事本2
    还有如果有更高级的文本编辑器,比如Notepad++或者我使用的NotePad2之类的,直接打开exe文件可以显示出“不可打印的字符”,我们看到第三行那个PE后面跟了两个NUL就是空字符的意思,后面的字符就是标记了,还是一样的,L表示32位,d?表示64位。
    notepad++_1
    notepad++_2

    方法三

    如果使用16进制编辑器打开你的exe文件的话,可以看到如图的效果,里面的hex code: 504500004C就表示是32位的,而hex code: 504500006486就表示是64_86,也就是64位的。
    方法三图1
    方法三图二

    转载自:百度经验

    展开全文
  • 一个C程序辨别系统是64位还是32

    千次阅读 2018-11-01 22:39:09
    32bit的计算机中,ALU次可以计算的最大整数为4字节。 在64bit的计算机中。ALU次可以计算的最大整数为8字节。 实际上,int这种类型是用来描述机器字长的,也就是说它可以代表寄存器的宽度。但是实际上int...

    知识储备:
    计算机的位数取决CPU中寄存器的宽度,具体来说就是算术逻辑运算单元(ALU)的宽度,用来表征计算机的计算能力,ALU一次可以计算最大长度整数即计算机的位数。

    32bit的计算机中,ALU一次可以计算的最大整数为4个字节
    64bit的计算机中。ALU一次可以计算的最大整数为8个字节

    实际上,int这种类型是用来描述机器字长的,也就是说它可以代表寄存器的宽度。但是实际上int和long这两种类型不但和CPU体系结构有关系,同时和编译器的处理也有关系,不同的编译选项下它们的大小也是随之变化的,因此用这两个类型来测试当前系统是64bit还是32bit是不可取的。

    如何测试?
    我们可以通过计算在操作系统中可寻址单元的个数,这样就可以计算出对应操作系统中一个地址的大小来区分64bit和32bit。编译器的位数要与操作系统一致。在32bit和64bit操作系统下姑且认为地址总线的条数分别是32条和64条(实际中不是这样的,但是可以这么理解),那么形成的地址的大小分别是4字节和八字节。

    测试代码:

    #include<cstdio>
    int main(void){
    	printf(sizeof(void*)==8?"64bit\n":"32bit\n");
    	return 0;
    }
    

    1.ubuntu64位
    在这里插入图片描述
    2.Dev C++ 32bit

    在这里插入图片描述

    3.Dev C++ 64bit
    在这里插入图片描述

    展开全文
  • 方法: 任务管理器法 任务管理器>>>进程(processes)>> 进程后带有*32的是32程序方法: 简化颜色模式法 右键exe>>...若Settings框中的降低色彩和分辨率的选项可勾选>...64位...

    方法一: 任务管理器法
    任务管理器>>>进程(processes)>>
    进程后带有*32的是32位程序

    方法二: 简化颜色模式法
    右键exe>>>属性>>>兼容性
    若Settings框中的降低色彩和分辨率的选项可勾选>>>32位程序
    若Settings框中的降低色彩和分辨率的选项不可勾选>>>64位程序

    方法三: 文件头法
    二进制打开exe>>>在文件头中能找到
    >>>PE..d 的是64位
    >>>PE..L 的是32位


     

    展开全文
  • 判断程序自身是运行32还是64位

    千次阅读 2018-03-29 16:49:40
    )// 但是64位下可以运行32位的程序,导致与驱动的通信失败,于是干脆就加了判断自身是否是32还是64位。bool IsApp64() { int nNum = 0; int nSize = sizeof(&amp;nNum); if (nSize == 8) { ret...

    // 在做驱动和应用层通信时,两个程序必须都是32位或者64位的。(可能32位和64位的驱动可以通信,未了解。)

    // 但是64位下可以运行32位的程序,导致与驱动的通信失败,于是干脆就加了个判断自身是否是32位还是64位。



    bool IsApp64()
    {
    	int nNum = 0;
    	int nSize = sizeof(&nNum);
    	if (nSize == 8)
    	{
    		return TRUE;
    	}
    	else
    	{
    		return false;
    	}
    }


    顺便附带一个判断系统是32位还是64位的接口


    bool IsWow64()
    {
    	static bool bGet = false;
    	static BOOL bIsWow64 = FALSE;
    
    	if (!bGet)
    	{
    		if (sizeof(PVOID) == 8)
    			bIsWow64 = TRUE;
    		else
    		{
    			typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS)(HANDLE, PBOOL);
    
    			LPFN_ISWOW64PROCESS fnIsWow64Process = NULL;
    			fnIsWow64Process = (LPFN_ISWOW64PROCESS)::GetProcAddress(::GetModuleHandle(_T("kernel32")), "IsWow64Process");
    			if (fnIsWow64Process)
    			{
    				if (!fnIsWow64Process(::GetCurrentProcess(), &bIsWow64))
    				{
    				
    				}
    			}
    		}
    		bGet = TRUE;
    	}
    	return bIsWow64 ? true : false;
    }















    展开全文
  • 判断应用程序32还是64位

    千次阅读 2015-05-07 15:48:03
    VC++检测可执行程序DLL、EXE等是32还是64位 1.首先介绍PE结构  Windows系统下的可执行文件,是基于Microsoft设计的种新的文件结构,此结构被称之为PE结构。PE的意思是Portable Executable(可移植的...
  • 查看一个exe文件是32还是64位

    千次阅读 2017-06-03 12:45:42
    用你喜欢的16进制编辑器打开这exe文件: 文件头部有:This is program cannot be run in DOS ...这里以winhex为例,下图表示这exe是64位的 注意:这只是表示当前这exe文件的版本,如果这exe是安装...
  • 判断机器、程序32还是64位

    千次阅读 2010-04-29 14:27:00
    、Linux上如何知道自己的操作系统/计算机 是32还是 64位的?Linux users should type the uname command. Depending on the platform, you may seeuname -a Linux gaylord.stata....
  • [C/C++]_[判断程序32还是64位]

    万次阅读 2013-09-03 09:44:22
    场景: 1.编译器没有显式的指定。 2.需要根据32,64做不同的处理. #include "stdio.h" int main(int argc,char * argv[]) { void* number = 0;...输出8就是64位的,4就是32位的。根据逻辑地址判断。
  • 判断某程序64位还是32

    千次阅读 2016-08-19 15:05:38
    1. 用代码判断本身 if (IntPtr.Size == 4) {  // 32-bit ... // 64-bit } 2. 用代码判断正在运行的其他进程 http://stackoverflow.com/questions/1953377/how-to-know-a-process-is-32-bit-o
  • 简便方法: 直接用记事本或者notepad++打开exe文件(dll文件),会有很多乱码,不要头疼,接下来只需要在第段中找到PE两字母,在其后的不远出会出现d?...若是d,则证明该程序64位;若是L,则证明是32位。
  • 因为我真的是忘记了,PE文件的字段实在是有一些多,长时间不用这些基本的知识,久而久之,就容易忘记了,于是,写篇博客给自己增加记忆,另外就是帮助下别的小伙伴们,我在百度上搜了一下这问题,竟然许多回答都...
  • 怎么看一个软件是64位还是32位的

    千次阅读 2018-03-12 12:30:24
    https://zhidao.baidu.com/question/1515916807696681380.html
  • 成功解决无法安装64位版本的office,因为在您的PC上找到了以下32程序,已有32位版本 目录 解决问题 解决思路 解决问题 无法安装64位版本的office,因为在您的PC上找到了以下32程序,已有32位版本...
  • 64位程序32程序区别

    千次阅读 2013-07-03 08:15:54
     在Visual Studio平台中最后对64位应用程序编译时,需要指定这个应用程序是在64位操作系统上作为本机应用程序运行还是在WOW64(Windows-on-Windows64-bit)环境下运行。这个WOW64环境是一个由操作系统提供的兼容性...
  • 32程序64位程序

    千次阅读 2018-12-23 00:32:42
    我们有时候会遇到这样种情况:我们在32位操作系统上下载了64位版本的程序,却发现无法安装,大家可能会很困惑。 下面就来简单解释一下32程序64位程序的具体区别。   我们首先要弄明白的: 1.这里所说的的...
  • 判断动态链接库.dll和应用程序.exe是32还是64位
  • WINDOWS: 我们需要VS中的dumpbin.exe这可执行程序。 dumpbin /headers YOUR_FILE ...便证明你的程序32位的,或者x64就是64位的。 Linux: 这就简单的了,直接用file YO
  • 怎么查看python是32还是64位

    万次阅读 多人点赞 2016-06-02 07:19:44
    怎么查看python是32还是64位的直接条Python 指令就可以了
  • 新建一个Visual Studio Win32 Console项目,命名为test x64,test x64.cpp代码后附。这里我们还将比较32位与64位程序的浮点运算速度,以及他们调用dll库的异同。  2). 在工具栏上单击"Solution Pl
  • 32位和64位程序的区别

    万次阅读 2015-04-16 17:13:12
    X86和win3232程序,X64为64位程序,可以选择不同的编辑条件形成不同位的软件。 2、代码中的基本的数据类型,会根据操作系统的位数分配内存大小: 如int型在32位操作系统为4字节,在64位系统为8字节 因此在64...
  • 只需要拿到exe文件就行了,无需运行。 1.右键点击exe文件,然后选择“属性” 2.切换到“兼容性”。 3. 尝试点击勾选“640*480 ... 如果能选择上,说明这个程序32位的。如果不能选择上说明这个程序64位的。 ...
  • 64位linux 系统运行32程序解决方法

    万次阅读 2014-05-05 15:52:16
    当你执行一个32程序的时候,你可能会发现提示No such file or directory,这就是说明你的64位系统没有安装32位的lib库,如何知道一个程序32还是64位呢,也很简单,可以通过readelf来。呃,如果你确定你执行...
  • Qt编译32位和64位程序

    万次阅读 2017-04-12 11:45:21
    下载qt-opensource-windows-x86-msvc2013_...src的qtbase下面需要自己用VS命令提示符编译,VS命令提示符默认32位,也可以找到64位命令提示符。复制次源码,编译次。在这里,只需要32位的编译。 编译完成,手动添加
  • 64位Ubuntu 16.04运行32程序

    千次阅读 2016-08-12 13:41:07
    Android SDK的部分工具是64位的,部分则是32位的。在64位Xubuntu下安装Android SDK后不能运行mksdcard工具,然后Android ...在64位Ubuntu下安装32位应用程序所需要的库,然后就可以在64位Ubuntu下运行32程序了。
  • 查看Linux系统/文件是32还是64位

    万次阅读 2017-02-09 10:45:47
    如何查看Linux系统是32还是64位,如何查看可执行文件或库文件或编译的.o文件是32还是64位
  • 如何判断windows程序32还是64位

    千次阅读 2013-08-20 13:58:54
    如果安装过VS2012的话,直接打开一个VS 2012提供的控制台窗口,比如VS2012 x64 Native Tools Command Prompt.用下面的命令查看程序的头部信息:gdal_1.8_rtc>dumpbin /HEADERS gdal18.dll Microsoft (R) COFF/PE ...
  • 编译64位和编译32程序

    千次阅读 2015-04-09 14:28:39
    64位的机器上编译32还是62位程序,主要是要编译器和链接器上加上参数据:-m32 (编译32位) -m64(编译64) 自己写Makefile的话,把上面的标志放到编译器和链接器参数中就可以了。   如果用autoconf生成...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 411,023
精华内容 164,409
关键字:

如何看一个程序是32位还是64位