精华内容
下载资源
问答
  • 方法一在开始→运行中输入“winver”,如果您的系统是64位的,会明确标示出“x64 edition”。   方法二 (推荐) 在cmd窗口中输入systeminfo回车,...说明是32位,否则是64位【标明:“x64 Edition】。   备注:

    方法一
    在开始→运行中输入“winver”,如果您的系统是64位的,会明确标示出“x64 edition”。

     

    方法二 (推荐)

    在cmd窗口中输入systeminfo回车,显示出系统详细信息,

    其中观察系统类型一项,标明是x86 based pc,

    即:系统类型:         X86-based PC

    说明是32位,否则是64位【标明:“x64 Edition】。

     

    备注: 如果是正版的OS,可以点击“我的电脑”,右键“属性”,也可以看到版本。

     

    原文转自:http://blog.csdn.net/zhuying_linux/article/details/6753211

    展开全文
  • 32位编译器:32位系统下指针占用4字节 64位编译器:64位系统下指针占用8字节 struct结构体成员中对齐关系: 字节对齐的细节和具体编译器实现相关,但一般而言,需满足以下四个准则: 1)结构体变量的首地址能够被...

    何为32位64位?

    32位64位其实就是32bit 64bit ,32位cpu单次处理指令4字节,64位8字节,因为1字节=1byte=8bit(32/8=4字节,64/8=8字节)

    32位编译器:32位系统下指针占用4字节

    64位编译器:64位系统下指针占用8字节

    struct结构体成员中对齐关系:

    字节对齐的细节和具体编译器实现相关,但一般而言,需满足以下四个准则:

    1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;

    2) 结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节;

    3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节。

    4)结构体作为数据成员的对齐规则:在一个struct中包含另一个struct,内部struct应该以它的最大数据成员大小的整数倍开始存储

     

    随便贴几个32/64相同结构体字节对齐填充示例:

    {32位}  
    _UNICODE_STRING = packed record
        Length : USHORT;
        MaximumLength : USHORT;
        Buffer : PWideChar;
      end;
      UNICODE_STRING = _UNICODE_STRING;
      PUNICODE_STRING =^_UNICODE_STRING;
    
    {64位}
      _UNICODE_STRING64 = packed record
        Length : USHORT;   //USHORT=2字节
        MaximumLength : USHORT;
        Fill : DWORD;   //填充4字节对齐
        Buffer : ULONG64;//ULONG64; //PVOID64
      end;
      UNICODE_STRING64 = _UNICODE_STRING64;
      PUNICODE_STRING64 =^_UNICODE_STRING64;
    
    
    {32位} 
      PLDR_DATA_TABLE_ENTRY = ^LDR_DATA_TABLE_ENTRY;
      LDR_DATA_TABLE_ENTRY = packed Record
        InLoadOrderModuleList:LIST_ENTRY;
        InMemoryOrderModuleList:LIST_ENTRY;
        InInitializationOrderModuleList:LIST_ENTRY;
        BaseAddress:Cardinal;
        EntryPoint:Cardinal;
        SizeOfImage:Cardinal;
        FullDllName:UNICODE_STRING;
        BaseDllName:UNICODE_STRING;
        Flags:Cardinal;
        LoadCount:Word;
        TlsIndex:Word;
        SectionHandle:Cardinal;
        CheckSum:Cardinal;
        TimeDateStamp:Cardinal;
      end;
    
    
    {64位}
      PLDR_DATA_TABLE_ENTRY64= ^LDR_DATA_TABLE_ENTRY64;
      LDR_DATA_TABLE_ENTRY64 = packed record
        InLoadOrderModuleList:LIST_ENTRY64;//PVOID64;//LIST_ENTRY;
        InMemoryOrderModuleList:LIST_ENTRY64;//PVOID64;//LIST_ENTRY;
        InInitializationOrderModuleList:LIST_ENTRY64;//PVOID64;//LIST_ENTRY;
        BaseAddress:ULONG64;
        EntryPoint:ULONG64;
        SizeOfImage:ULONG64;//ULONG;  //8字节对齐 
        FullDllName:UNICODE_STRING64;
        BaseDllName:UNICODE_STRING64;
        Flags:ULONG;
        LoadCount:USHORT;
        TlsIndex:USHORT;
      end;
    
    {32位}
      PPEB_LDR_DATA =^PEB_LDR_DATA;
      PEB_LDR_DATA = packed record
        Len:Cardinal;
        Initialized:Bool;
        SsHandle:PPointer;
        InLoadOrderModuleList:LIST_ENTRY;
        InMemoryOrderModuleList:LIST_ENTRY;
        InInitializationOrderModuleList:LIST_ENTRY;
      end;
    
    {64位}
      PPEB_LDR_DATA64= ^PEB_LDR_DATA64;
      PEB_LDR_DATA64 = packed record
        Length:ULONG;    //4Byte
        Initialized:BOOLEAN;  //1Byte
        Reserved1: array [0..2] of Byte;  //3Byte   补3字节填充跟前面一起凑成8字节
        SsHandle:ULONG64;     //8Byte
        InLoadOrderModuleList:LIST_ENTRY64; // PVOID64
        InMemoryOrderModuleList:LIST_ENTRY64;
        InInitializationOrderModuleList:LIST_ENTRY64;
        EntryInProgress:ULONG64;
      end;
    
    {32位}
      PPEB = ^PEB;
      PEB = packed record
        Reserved1: array[0..1] of Byte;
        BeingDebugged: ByteBool;
        Reserved2: Byte;
        Reserved3: array[0..1] of Pointer;
        Ldr: PPEB_LDR_DATA; //Pointer
        ProcessParameters: PRTL_USER_PROCESS_PARAMETERS;
        Reserved4: array[0..103] of Byte;
        Reserved5: array[0..51] of Pointer;
      end;
    
    {64位}
      PPEB64 = ^PEB64;
      PEB64 = packed record
          InheritedAddressSpace : UCHAR;   //1 Byte
          ReadImageFileExecOptions : UCHAR;
          BeingDebugged: UCHAR;
          BitField: UCHAR;
          Reserved1:DWORD; //因为64位系统是8字节对齐,所以补4位,跟前面4个uchar一起凑成8字节 
          Mutant:ULONG64; //编译器问题,VC++不用补位,实测VS2017,VS2015中编译器貌似会自动填充对齐
          ImageBaseAddress: ULONG64;
          Ldr:PVOID64;  //PPEB_LDR_DATA64; //ULONG64;
          ProcessParameters:PVOID64;//PRTL_USER_PROCESS_PARAMETERS64; // ULONG64;
          SubSystemData: ULONG64;
          ProcessHeap: ULONG64;
          FastPebLock: ULONG64;
          AtlThunkSListPtr:ULONG64;
          IFEOKey: ULONG64;
          CrossProcessFlags: ULONG64;
          UserSharedInfoPtr: ULONG64;
          SystemReserved: ULONG;
          AtlThunkSListPtr32:ULONG;
          ApiSetMap: ULONG64;
      end;

    Delphi中32位64位程序在64位系统下各数据类型占用字节统计如下:

     

    具体字节对齐填充原理可以参考此连接:

    32位源码编译64位程序时的字节对齐问题

    原创文章,转载请注明出处!谢谢

    展开全文
  • 一、64位系统32位有什么区别?  1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作...

    一、64位系统和32位有什么区别? 

    1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存

    2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。

     

    什么是64位处理器?

    之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处理数据的能力也是2的倍数。8位处理器、16位处理器、32位处理器和64位处理器,其计数都是2的倍数。一次处理的数据越大,该电脑处理信息的能力越来越大;因此64位处理在先天就比32位处理器具有快速的能力。那为什么不用更高级的128位处理器呢?因为位数越高,处理器芯片的设计也就越复杂,目前的技术水平暂时无法制造这么复杂的芯片。

     

    64位处理器之失

    ※硬件———缺乏驱动程序,很多现有硬件无法使用

    ※软件———操作系统不是问题,但是软件出现不兼容难题

     

    64位处理器之得

    ※硬件———更快的执行速度,更大的内存管理

    ※软件———最新的尖端软件首先出现在64位平台

     

    (二)数据类型对应字节数

    程序运行平台
          不同的平台上对不同数据类型分配的字节数是不同的。
          个人对平台的理解是CPU+OS+Compiler,是因为: 
          1、64位机器也可以装32位系统(x64装XP); 
          2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的); 
          3、即使是32位的编译器也可以弄出64位的integer来(int64)。 
          以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。 
          虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。 
          理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。

    常用数据类型对应字节数
      可用如sizeof(char),sizeof(char*)等得出

     32位编译器:

          char :1个字节
          char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
          short int : 2个字节
          int:  4个字节
          unsigned int : 4个字节
          float:  4个字节
          double:   8个字节
          long:   4个字节
          long long:  8个字节
          unsigned long:  4个字节

      64位编译器:

          char :1个字节
          char*(即指针变量): 8个字节
          short int : 2个字节
          int:  4个字节
          unsigned int : 4个字节
          float:  4个字节
          double:   8个字节
          long:   8个字节
          long long:  8个字节
          unsigned long:  8个字节

    展开全文
  • 问题发现在以下这段代码中,在32位windows7上用DEV-C++编译,无错无警告通过;后来在64位Windows7中编译却出错。 #include <windows.h> #include <string> using namespace std; LRESULT CALLBACK ...

    本文所述情况是我在写测试代码时发现和解决问题的过程,见以下这段测试代码,在DEV-C++用32位TDM-GCC编译可无错无警告通过;但用64位编译却出错了。

    #include <windows.h>
    #include <string>
    using namespace std;
    
    LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
    	static int i=0;
    	static HWND bHwnd[15],sHwnd;
    	static HFONT hFont = CreateFont(
                    30, 20, 0, 0, 700, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
    				OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
                    DEFAULT_QUALITY, DEFAULT_PITCH|FF_DONTCARE,
                    TEXT("仿宋") );
    
    	switch(Message) {
    		case WM_CREATE:
    			for (auto b:bHwnd){
    				b = CreateWindow(
        			"BUTTON", "", //先不设标题,可以创建后添加 
        			WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_FLAT | BS_PUSHBUTTON, 
        			70 + (i>=10 ? 360:(i>=5 ? 180:0)) ,
        			110 + i*60 - (i>=10 ? 600:(i>=5 ? 300:0)) ,
        			120, 50, hwnd,
        			(HMENU)i,
        			(HINSTANCE)GetWindowLongPtr(hwnd, GWLP_HINSTANCE), NULL);
        			
        			SendMessage(b, WM_SETTEXT, 0, (LPARAM)to_string(1+i++).c_str()); //添加标题 
        		}
    			sHwnd = CreateWindow( TEXT("STATIC"),NULL,WS_CHILD | WS_VISIBLE,
    					70, 30, 480, 50, hwnd, NULL, ((LPCREATESTRUCT) lParam)->hInstance,NULL);
    			SendMessage(sHwnd, WM_SETFONT, (WPARAM)hFont, lParam);
    			SetWindowLong(sHwnd, GWL_STYLE, GetWindowLong(sHwnd, GWL_STYLE)|SS_CENTER|SS_CENTERIMAGE);
    			break;
    				
    		case WM_COMMAND: 
    			SetWindowText(sHwnd, to_string(LOWORD(wParam)+1).data());
    			break;
    			
    		case WM_MOUSEMOVE:
    			SetWindowText(sHwnd, to_string((int)GetFocus()).data());
    			break; 
    
    		case WM_DESTROY: 
    			PostQuitMessage(0);
    			break;
    		
    		default:
    			return DefWindowProc(hwnd, Message, wParam, lParam);
    	}
    	return 0;
    }
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    	WNDCLASSEX wc; 
    	HWND hwnd; 
    	MSG msg;
    
    	memset(&wc,0,sizeof(wc));
    	wc.cbSize		 = sizeof(WNDCLASSEX);
    	wc.lpfnWndProc	 = WndProc;
    	wc.hInstance	 = hInstance;
    	wc.hCursor		 = LoadCursor(NULL, IDC_ARROW);
    	
    	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    	wc.lpszClassName = "WindowClass";
    	wc.hIcon		 = LoadIcon(NULL, IDI_APPLICATION); 
    	wc.hIconSm		 = LoadIcon(NULL, IDI_APPLICATION); 
    
    	if(!RegisterClassEx(&wc)) {
    		MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
    		return 0;
    	}
    
    	hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW,
    		CW_USEDEFAULT, CW_USEDEFAULT, 
    		640, 480, 
    		NULL,NULL,hInstance,NULL);
    
    	if(hwnd == NULL) {
    		MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
    		return 0;
    	}
    
    	while(GetMessage(&msg, NULL, 0, 0) > 0) { 
    		if(!IsDialogMessage(hwnd, &msg)){  
    			TranslateMessage(&msg); 
    			DispatchMessage(&msg);
    		}
    	}
    	return msg.wParam;
    }

    错误在39行代码:SetWindowText(sHwnd, to_string((int)GetFocus()).data());

    错误信息:[Error] cast from 'HWND' to 'int' loses precision [-fpermissive]

    分析错误所在,先看SetWindowText()原型:

    #define SetWindowText __MINGW_NAME_AW(SetWindowText)
    ​​​WINUSERAPI WINBOOL WINAPI SetWindowTextA(HWND hWnd,LPCSTR lpString);
    WINUSERAPI WINBOOL WINAPI SetWindowTextW(HWND hWnd,LPCWSTR lpString);

     再看LPCSTR、LPCWSTR:

    typedef CONST CHAR *LPCSTR,*PCSTR;
    typedef CONST WCHAR *LPCWSTR,*PCWSTR;
    typedef LPCSTR PCTSTR,LPCTSTR,PCUTSTR,LPCUTSTR;
    typedef LPCWSTR PCTSTR,LPCTSTR;

    to_string((int)GetFocus()).data()中,.data()等价于.c_str()没问题,所以只剩下GetFocus()的返回值强制转int这个可能了。

    GetFocus()原型:

    WINUSERAPI HWND WINAPI GetFocus(VOID);

    它的返回值是HWND,它是窗口句柄Handle of Window,相当于一个指向窗口的指针。

    #ifndef WIN_INTERNAL
        DECLARE_HANDLE            (HWND);
        DECLARE_HANDLE            (HHOOK);
    #ifdef WINABLE
        DECLARE_HANDLE            (HEVENT);
    #endif
    #endif
    ......

    struct HWND__ { 
        int unused ;
    };
    typedef struct HWND__ *HWND;

    估计问题在32位系统里HWND 和 int 是同字节的可以转换,但在64位系统中int的字节宽度就不够所以出错了。

    马上写代码验证:

    #include <iostream>
    #include <windows.h>
    using namespace std;
    
    BOOL IsWow64()
    {   //此函数好像取决于编译器的是32-bit还是64-bit,而不是操作系统的位数
        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;
    }
    
    int main(void)
    {
    	cout<<sizeof(HWND)<<endl;
    	cout<<sizeof(int)<<endl;
    	cout<<sizeof(long)<<endl;
    	cout<<sizeof(long long)<<endl;
    	
    	cout<<IsWow64()<<endl;
     
    	return 0;
    }
    /*
    8
    4
    4
    8
    0 //或1,取决于编译器的是32-bit还是64-bit 
    
    --------------------------------
    Process exited after 0.8295 seconds with return value 0
    请按任意键继续. . .
    */

    把 SetWindowText(sHwnd, to_string((int)GetFocus()).data()) 中红字部分改为(long long)就通过编译了。

    后来发现只要是8位字节的数据类型都行(__int64)、(intptr_t)、(uintptr_t)、(ptrdiff_t),甚至这些类型:(LPARAM)、(WPARAM)、(LRESULT)。

    看它们在库函数中的定义:

    #ifndef _INTPTR_T_DEFINED
    #define _INTPTR_T_DEFINED
    #ifndef __intptr_t_defined
    #define __intptr_t_defined
    #undef intptr_t
    #ifdef _WIN64
    __MINGW_EXTENSION typedef __int64 intptr_t;
    #else
    typedef int intptr_t;
    #endif /* _WIN64 */
    #endif /* __intptr_t_defined */
    #endif /* _INTPTR_T_DEFINED */
    
    #ifndef _UINTPTR_T_DEFINED
    #define _UINTPTR_T_DEFINED
    #ifndef __uintptr_t_defined
    #define __uintptr_t_defined
    #undef uintptr_t
    #ifdef _WIN64
    __MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
    #else
    typedef unsigned int uintptr_t;
    #endif /* _WIN64 */
    #endif /* __uintptr_t_defined */
    #endif /* _UINTPTR_T_DEFINED */
    
    #ifndef _PTRDIFF_T_DEFINED
    #define _PTRDIFF_T_DEFINED
    #ifndef _PTRDIFF_T_
    #define _PTRDIFF_T_
    #undef ptrdiff_t
    #ifdef _WIN64
    __MINGW_EXTENSION typedef __int64 ptrdiff_t;
    #else
    typedef int ptrdiff_t;
    #endif /* _WIN64 */
    #endif /* _PTRDIFF_T_ */
    #endif /* _PTRDIFF_T_DEFINED */
    typedef UINT_PTR WPARAM;
    typedef LONG_PTR LPARAM;
    typedef LONG_PTR LRESULT;
    
    ... ...
    
    #ifdef _WIN64
      __MINGW_EXTENSION typedef __int64 INT_PTR,*PINT_PTR;
      __MINGW_EXTENSION typedef unsigned __int64 UINT_PTR,*PUINT_PTR;
      __MINGW_EXTENSION typedef __int64 LONG_PTR,*PLONG_PTR;
      __MINGW_EXTENSION typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
    #define __int3264 __int64
    #else
      typedef int INT_PTR,*PINT_PTR;
      typedef unsigned int UINT_PTR,*PUINT_PTR;
      typedef long LONG_PTR,*PLONG_PTR;
      typedef unsigned long ULONG_PTR,*PULONG_PTR;
    #define __int3264 int
    #endif

    果然这些数据在两类系统中就是int和__int64的不同而已,所以把39行代码改为以下几行,就不出错了。

    			#ifdef _WIN64
    				SetWindowText(sHwnd, to_string((__int64)GetFocus()).data());
    			#else
    				SetWindowText(sHwnd, to_string((int)GetFocus()).data());
    			#endif /* _WIN64 */

    随后再次编译,第23行代码又出现警告:  [Warning] cast to pointer from integer of different size [-Wint-to-pointer-cast]

    估计是差不多情形,把(HMENU)i 改成 (HMENU)(WPARAM)i,代码通过无警告无错误编译;并且用 (WPARAM) 强制转换相当于C++代为条件编译了 。

    展开全文
  • win32,win64编程永恒;语言编程需要注意的64位和32机器的区别 一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。...long 4个字节32位 指针 ...
  • 为了检测 exe、dll、ocx 等类型的文件是 32 还是 64 ,网上有文章推荐使用 EXE 64bit Detector 之类的工具软件。EXE 64bit Detector 的官网是:http://securityxploded.com/exe-64bit-detector.php ,使用 EXE ...
  • 当然2^64只是理论值,实际中不可能用到这么大的内存,目前64位windows系统最大只支持128G,而当前主流主板只能加到16G。 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit...
  • 如图 1 选择操作系统所示:注 :如果下载页面没有列出 32 或 64 ,则该系统类型32 。图 1: 选择操作系统要查看您使用的 Windows 类型,请根据您的操作系统,按照以下两部分之一中的步骤进行操作。 在 ...
  • 在cmd窗口中输入"systeminfo"回车,显示出系统详细信息,其中观察系统类型一项,标明是x86 based pc,说明是32位,如果标明是x64说明是64位cpu。 其中处理器一项,如果是x86 family 说明是32位cpu,如果是x64 ...
  • 学习windows驱动(32位与64位兼容)

    千次阅读 2015-10-30 14:30:51
    在编程的时候,32位系统跟64位系统数据类型是有些不一样的。在64位环境下,指针、句柄是64位的。 Windows为64位环境提供了一些指针类型的数据类型。固定精度的数据类型 类型 定义 DWORD32 32位无符号整数 DWORD64 ...
  • ...   WINDOWS下查看的方法:  方法一、 ...在开始→运行中输入“winver”,如果您的系统是64的,会明确标示出“x64 edition”。...在cmd窗口中输入systeminfo回车,显示出系统详细信息...其中观察系统类型一项,标...
  • WINDOWS_32位与64位系统的编程差异

    千次阅读 2013-12-09 07:45:45
    win32,win64编程永恒;语言编程需要注意的64位和32机器的区别 一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。...long 4个字节32位 指针
  • Type Type's size on x32 / x64 platform Note ...32 / 32 ...Basic type. On 64-bit systems remains 32-bit. ...32 / 32 ...Basic type. On 64-bit Windows systems remains 32-bit. Keep in mind th
  • DOS命令行下输入systeminfo,等候片刻,得到系统信息 ... ... 系统类型:x64-base PC (说明这是64位系统) 或者是 系统类型:X86-based PC (说明这是32位系统) ...
  • 我为我基础知识掌握的薄弱,感到深深的“折服”。感觉从知识体系的掌握上就有问题!...32位操作系统(字节) 64位操作系统(字节) char 1 1 short 2 2 int 4 4 long 4 8
  • 操作系统Windows10 64专业版 实际打印 ---64bit complier (minGW) ------ int: 4 long: 4 (和编译器设置有关) double: 8 long long: 8 char: 1 char*: 8 int*: 8 ---32bit complier(minGW) ------ int: 4 long...
  • 今天晚上一位兄弟突然找我,问我sizeof(int*) 的长度是多少,老实说,这个在上学的时候其实就一直在普及,32位是4,64位是8,具体原因就不深入下去了,因为读书的时候基本上用的都是32位windowsXP系统(不得不说有点...
  • 确定系统位数 32位或64位 ? 找到您的电脑正在运行的操作系统版本,然后按照所示步骤来确定操作系统的位数。...对于64位操作系统: 在系统 列表下的系统类型中显示64位操作系统。 对于32位操作系统: 在
  • 1. LLP64 数据模型 数据模型 short int long longlong 指针 操作系统类型 ILP32 2 4 4 8 4 win32 LLP64 2 4 4 8 8 windows 64 LP64 2 4 8 8 8 ...
  • 右击桌面上的"计算机"图标选择“属性”在系统区域中有个“系统类型32位操作系统”或者“系统类型:64位操作系统”。
  • 64位和32位系统编程

    2015-12-29 16:25:17
    一、汇总下Windows和Linux下64位和32位的数据类型的字节长度 数据类型 windows64 windows32 linux64 linux32 char 8 8 8 8 short 16 16 16 16 int 32 32 32 32 long 64 32 32 32
  • 查看windows server 2003 是32位还是64位

    千次阅读 2015-01-28 10:58:31
    开始菜单中输入cmd 回车打开命令提示符,输入systeminfo 即可看到: 系统类型为X86-based PC就是32位   系统类型为X64-based PC就是64位
  • EcliPSe 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建...Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统
  • Windows系统用户请按Win+R运行cmd,输入systeminfo后回车,稍等片刻,会出现一 些系统信息。在“系统类型”一行中,若显示“x64-based PC”,即为64位系统;若显示“X86- based PC”,则为32位系统。 Mac系统用户...
  • 环境:OS: Windows XP SP3 32bit  CPU:AMD Athlon(tm)  Visual 2005 一:整形  int 4字节  long int 4字节  short int 
  • 测试系统Windows2003 server C#中测试的结果: int:4bytes; Int16:2bytes; Int32:4bytes; Int64:8bytes; byte:1bytes; bool:1bytes; Single:4bytes; decimal:16bytes; double:8bytes; char:2bytes; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 936
精华内容 374
关键字:

windows系统类型32位