C/C++ 判断exe可执行程序是32位的还是64位

最后更新于:2020-08-05 23:00:18

一.exe可执行程序为什么要区分32/64

64位可执行程序应用程序只能在64位的操作系统运行,而32可执行程序应用程序既能在64位的操作系统运行,也能在32位的操作系统运行,因为微软的向下兼容性做的很到位!

64位操作系统简称x64,32位操作系统简称x86;

二.C/C++如何判断exe可执行程序是32位的还是64位

1.设置设置visual stdio编译选项:编译的时候直接选择x86或者x32即可;

2.通过代码判断

/************************************************************************/
/*@文件名      : C/C++ 判断exe可执行程序是32位的还是64位.cpp
/*@日  期      : 2020/07/03 21:52
/*@作  者      : 猿说编程
/*@公众号      : 猿说编程
/*@博客        : www.shuopython.com
/*@描述        : C语言教程 - C/C++ 判断exe可执行程序是32位的还是64位
/************************************************************************/

#include "windows.h"

typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);

LPFN_ISWOW64PROCESS fnIsWow64Process = NULL;

BOOL Isx64Application() {
    return (sizeof(LPFN_ISWOW64PROCESS) == 8)? TRUE: FALSE;
}

int main( void ) {

    if (Isx64Application())
        _tprintf(TEXT("The application is a x64 program.\n"));
    else 
        _tprintf(TEXT("The application is a x86 program.\n"));

    return 0;
}


输出结果:
The application is a x86 program.


猜你喜欢

1. 三目运算符

2. 逗号表达式

3. NaN(Not a Number)

4. memcpy/strcpy/strcpy_s区别

5. unicode和多字节区别




转载请注明: 猿说编程 » C/C++教程 » 判断exe可执行程序是32位的还是64位



技术交流、商务合作请直接联系博主
扫码或搜索:猿说编程

python/C++教程

猿说编程
微信公众号 扫一扫关注

赞赏

微信赞赏支付宝赞赏