用程式判斷作業系統是16位還是32位(或64位)的?
今天覆習了下C++,總結了這兩種方法用於判斷作業系統的位數,但第一種方法只能用於判斷是32位以上還是16位的,不能判斷是32位還是64位的,因為地址空間在32位和64位系統下都是一樣的。第二種方法可以判斷。
第一種方法:用sizeof()判斷
#include<iostream>
using namespace std;
int main()
{
char *p = NULL;
if(sizeof(p)==4)
cout<<"該作業系統是32位(或64位)的!"<<endl;
else
cout<<"該作業系統是16位的!"<<endl;
return 0;
}
第二種方法:判斷~0的大小
#include<iostream>
using namespace std;
int main()
{
int a = ~0;
if(a>65536)
cout<<"該作業系統是32位(或64位)的!"<<endl;
else
cout<<"該作業系統是16位的!"<<endl;
return 0;
}
相關推薦
用程式判斷作業系統是16位還是32位(或64位)的?
今天覆習了下C++,總結了這兩種方法用於判斷作業系統的位數,但第一種方法只能用於判斷是32位以上還是16位的,不能判斷是32位還是64位的,因為地址空間在32位和64位系統下都是一樣的。第二種方法可以判斷。 第一種方法:用sizeof()判斷 #include<ios
bat批處理判斷系統32位或64位以及作業系統型別
@echo off for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b set b=%b:* =% goto %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1% :5.1.6 echo xp_32位 goto:eof :6.1.
寫一個C程式判斷系統是32或64位、大端或小端位元組序
一、判斷系統是32位或64位32位處理器一次只能處理32位,也就是4個位元組的資料,虛擬地址空間的最大值是4G。64位處理器一次能處理64位,也就是8個位元組的資料,虛擬地址空間的最大值是16T。32位
用C++程式判斷作業系統的型別
#include <windows.h>#include <stdio.h> int GetOSVer() { OSVERSIONINFO osver; osver.dwOSVersionInfoSize = size
用JSP判斷輸入是質數還是非質數
break 圖片 amp 輸入 bre 技術分享 img 技術 ima <%int n=Integer.parseInt(request.getParameter("n"));if(n<=1){ out.print("既不是質數,也不是非質數");}for
用程式判斷1993年3月1日是星期幾
package cn.heima.day01.demo2; import java.util.Calendar; public class test04 { public static void main(String[] args) { //建立日曆類物件
VC 32位(或64位)win7作業系統的登錄檔操作
1、登錄檔位置 Windows7 64bit系統的登錄檔分32 位登錄檔項和64位登錄檔項兩部分。 在64bit系統下,通過regedit中檢視到指定路徑下的登錄檔項均為64位登錄檔項,而32位登錄檔項被重定位到: HKEY_LOCAL_MACHINE\Software\WOW6432Node。 應用
16位或32位或64位程式設計各資料型別佔的位元組數
全文參考:平安,幸福美滿! 的日誌,網址http://blog.163.com/hbu_lijian/blog/static/126129153201212892143856/ 16位 1位元組8位,2位元組16位 4位元組32位 8位元組64位 char 1位元組
關於如何判斷dll是32位或64位的重大誤區
.net平臺支援的有32位、64位以及Any CPU三種編譯模式,這三種編譯模式會導致呼叫該dll時的相容問題。已知的可正常執行的組合有:①32位/64位/Any CPU模式的App呼叫Any CPU模式的dll檔案,除了64位App不能在32位系統執行以外,均可②32位Ap
//三、用程式判斷2018年2月14日是星期幾。
public class Demo03 { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.se
Inno Setup 根據window系統32位或64位安裝對應程式
最近在弄java Swing 打包成可執行檔案,這時候用到了Inno Setup工具,這個打包成安裝程式還是非常不錯的,下面用到的Inno Setup的指令碼,有註釋 ; -- 64BitTwoArch.iss -- ; Demonstrates how to instal
【轉載】64位Win7下成功安裝64位的Oracle、32位的InstantClient和PLSQL Developer
註銷 五步 ldb 需要 windows inf 目錄 登錄 class 感謝原作者,原文鏈接:https://wenku.baidu.com/view/433d0b544a7302768f993926.html 經實際安裝操作,通過以下步驟能夠成功地把Oracle安裝到
vs+msys2+yasm 編譯libx264+ffmpeg詳細解釋(32位或64位)
下載msys2 下載yasm 安裝libx264 gcc 編譯libx264 (.a .dll) msvc編譯libx264(.lib .dll)
64位程序呼叫32位dll的解決方法 64位程序呼叫32位dll的解決方法
64位程序呼叫32位dll的解決方法 最近做在Windows XP X64,VS2005環境下做32位程式編譯為64位程式的工作,遇到了一些64位程式設計中可能遇到的問題:如內聯彙編(解決方法改為C/C++程式碼),long型別的變化,最關鍵的遇到了64位程序需要呼叫32
64位系統下同時使用64位和32位的eclipse
64位系統下同時使用64位和32位的eclipse eclipse.ini 檔案使用說明 The -vm option and its value (the path) must be on separate lines. The value must be the full absol
[C/C++]_[初級]_[獲取Windows系統的位數32位或64位]
場景 1.在Windows 64bit系統開發程式時, 某些情況需要判斷Program Files路徑, 但是64bit系統有兩個Program Files或 Program Files(x86), 這時候就需要根據當前系統的位數來獲取路徑了. 說明
檢視linux Unix系統32位或64位
1.#uname -a如果有x86_64就是64位的,沒有就是32位的 這是64位的 # uname -a Linux WORKS 2.6.9-11.ELsmp #1 SMP Fri May 20 18:25:30 EDT 2005 x86_64 x86_64 x86_6
C# 寫的32位COM元件,如何在64位系統上註冊
之前,用c#寫了一個COM元件,可以被Delphi的程式呼叫,而且已經使用在幾個專案中,部署環境在XP和WIN7 32位都可以正常執行. 但最近一個專案,部署環境是WIN7 64位系統.使用寫好的bat檔案註冊不成功, 執行到 RegAsm 時,總時提示 無法定位輸入程式集
64位匯編第一講——64位寄存器環境和編譯環境20171229
都是 containe 不同 log 就會 col 操作 data 字節數 一.64位匯編的歷史淵源 Intel公司和AMD公司都是研發復雜指令集的公司,AMD公司整體實力比Intel公司差一些,一直以來都是Intel公司的產品主導市場,在研發64位CPU時,為了提
64位匯編第二講——64位匯編中局部變量使用及擡棧方法29171230
add 我們 根據 them cal 因此 處理 data 對象 一.純寫64位匯編時局部變量處理和參數寄存器保存位置 純寫64位匯編和用VS2013寫64位C代碼生成的匯編會有一些格式上的區別,VS2013寫64位C代碼生成的匯編中是沒用到棧基址寄存器rbp的,但