VC里判断系统是不是64bit

不过,理论上来说,也可以用一个int的大小作为参考,
判断是32位还是64位.
sizeof(int) == 4 //32位系统.
sizeof(int) == 8 //64位系统.

也可以使用函数如下:

BOOL IsWow64()
{
    typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
    LPFN_ISWOW64PROCESS fnIsWow64Process;
    BOOL bIsWow64 = FALSE;
    fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( GetModuleHandle("kernel32"),"IsWow64Process");
    if (NULL != fnIsWow64Process)
    {
        fnIsWow64Process(GetCurrentProcess(),&bIsWow64);
    }
    return bIsWow64;
} 
时间: 2024-08-28 13:47:45

VC里判断系统是不是64bit的相关文章

VMware虚拟机 VC里报告虚拟磁盘丢失的解决方案

中石化某省分公司的信息管理平台,几台VMware虚拟机--ESX SERVER共享一台IBM DS4100存储,大约有40~50组虚拟机,占用1.8TB空间,正常工作中,vc里报告虚拟磁盘丢失,ssh到ESX中执行fdisk -l查看磁盘,发现storage已经没有分区表了.重启所有设备后,ESX SERVER均无法连接到DS4100所在的STORAGE. 我们接到案例后仔细询问当时的管理员但是可用信息不多,但是他们无意间提到曾经在这个存储网络里连接过一台windows 2003服务器,具体情况

C语言判断系统数据大/小端存储方式

小端存储:数据的低位部分,存储于存储器的低地址空间里. 大端存储:数据的低位部分,存储于存储器的高地址空间里. 首先,一般PC数据存储方式是小端存储. 基本实现思想是:将存储器中所存的数据按字节以地址顺序输出,与存入数据的高低位进行比较,即得出结论. 实现方法一: 1 #include <stdio.h> 2 int main(void) 3 { 4 short int x; 5 char *arr; 6 7 x = 0x1122; 8 arr = (char *)&x; 9 10 i

如何判断系统是32位还是64位的linux系统

如何判断系统是32位还是64位的linux系统 某日,需要下载个安装包,忽然忘记了自己的系统是32位还是64位的系统了,一时想不起来怎么查看时32位还是64位,呵呵,随便百度下,就发现有好多方法,这里记录下,方便日后查询: 第一种: 12345 [root@CentOS62 ~]# uname -mi686 [root@436704 ~]# uname -mx86_64 第二种: 12345 [root@CentOS62 ~]# file /sbin/init/sbin/init: ELF 32

写程序判断系统是大端序还是小端序

大端是高位字节先存储(低地址) 小端是低位字节先存储(低地址) 网络字节序是大端的,也就是高位字节先传输 而int--char的强制转换,是将低地址的数值截断赋给char,利用这个准则可以判断系统是大端序还是小端序 #include <iostream> using namespace std; int main() { int a = 0x1234; char c = static_cast<char>(a); if (c == 0x12) cout << "

关于Virtual Box虚拟机里的系统不能启动的解决方法

当我们的虚拟机在非正常关闭后,再次启动机器时,Virtual Box会出现 Runtime error opening 'C:\Users\admin\VirtualBox VMs\Windows Server\Windows Server.vbox   for reading: -102 (File not found.).提示. 虚拟电脑非正常关闭,造成一些日志无法记录,有可能在下次启动虚拟机的时候无法使用里面的系统,一般会提示找不到一个文件,并告诉你这个文件的路径.你顺着这个路径找下去例如

Linux判断CPU是32位还是64位,判断系统是32位还是64位

from:http://www.ipcpu.com/2010/08/linux-cpu-32-64/ 本文仅限于服务器CPU和Linux系统讨论,与台式电脑.笔记本无关. 32位.64位不能乱装,64的能装32位的,因为64位的CPU可以兼容32位,32位的装不了64位的.最近部署了MongoDB,系统是32位的提示会有最大文件2G的限制.还有最常见的问题32位系统不支持4G以上内存,即使打PAE效率也受影响. 1.判断CPU是32位还是64位 这个问题比较有意思,网上给出的办法都是判断了系统的

判断系统是大端还是小端的两种方法

#include <iostream> #include <stdio.h> #include <malloc.h> #include <string.h> using namespace std; //判断系统是大端还是小端:通过将&int转换为char* int fun() { int num = 1; // *((char*)&num)获得num的最低字节,为0x00,说明是大端 为0x01,说明是小端 return *((char*)

SQL Server 2008 R2 里迁移系统数据库的方法

针对不同的场景,采用不同的步骤. 对非master以及resource系统数据库而言,分两种情况. 1.非master以及resource系统数据库正常. 这里以迁移msdb为例,将msdb从D:\SQL2K8_DATA\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\迁移到D:\SQL2K8_DATA\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\system\目录下. 首先我们检查当前msdb的路径 ? 1 2 3 SELECT name, phys

C#判断系统是64位还是32位 支持.net4.0以前的版本

C#判断系统是64位还是32位的时候引用了一串代码,这个代码是从园子里面其他博文中转载过来的,引入自己的项目中发现无法使用,在引用了相应的命名空间之后还是提示: "未能找到类型或命名空间名称"ConnectionOptions"(是否缺少 using 指令或程序集引用?)": 除了使用 using System.Management; 还需要在解决方案的"引用"中引用才能够起作用,   private string Distinguish64or