1. 程式人生 > >判斷機器、程式是32位還是64位

判斷機器、程式是32位還是64位

一、Linux上如何知道自己的作業系統/計算機 是32位還是 64位的?
Linux users should type the uname command. Depending on the platform, you may see

Linux gaylord.stata.com 2.6.11-1.27_FC3 #1 Tue May 17 20:24:57 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux

二、如何知道應用程式是32位還是64位的:

可使用 file 命令檢視.

三、64位處理器說明

  8位處理器、16位處理器、32位處理器和64位處理器,其計數都是8的倍數,究竟代表什麼意義?它表示一個時鐘週期裡,處理器處理的二進位制程式碼數。"0"和"1"就是二進位制程式碼,線路上有電訊號,則計做1,沒有電訊號則為0。8位機有8條線路,每個時鐘週期有 8個電訊號,組成一個位元組。所以,隨8位處理器上升至64位處理器,每個時鐘週期傳送1個位元組到8個位元組,關聯到時鐘速度提高到若干個千兆赫之後,處理器處理資訊的能力越來越大。

  第一片英特爾微處理器--4004是一片4位處理器,英特爾8085升級為8位處理器,8086則是16位處理器。80386的出現,表明英特爾32位運算的開始,PC的一次重大革命開始了,也就是從DOS作業系統進化到了Windows系統。此後,英特爾的Pentium、PentiumPro、PentiumⅢ、Pentium4、Xeon、Celeron以及AMD的K6、Athlon、Duron都是32位處理器。

相關推薦

判斷機器程式32還是64

一、Linux上如何知道自己的作業系統/計算機 是32位還是 64位的?Linux users should type the uname command. Depending on the platform, you may seeuname -a Linux gayl

3264 CPU編譯器作業系統應用程式arm和X86關係

一:arm和X86的區別 arm:對應精簡指令集 X86:對應複雜指令集 arm上的和X86上編譯過的的東西是不能相互使用的,因為指令集不一樣嘛。指令集可以通俗的理解為,溝通語言。arm和X86之間東西不能直接用,類似於一個美國人和一箇中國人各自只說自己的語言,那麼這兩個人是沒法溝通的。

判斷程式自身是執行32還是64

// 在做驅動和應用層通訊時,兩個程式必須都是32位或者64位的。(可能32位和64位的驅動可以通訊,未了解。)// 但是64位下可以執行32位的程式,導致與驅動的通訊失敗,於是乾脆就加了個判斷自身是否是32位還是64位。bool IsApp64() { int nNum

判斷應用程式32還是64

1.首先介紹PE結構     Windows系統下的可執行檔案,是基於Microsoft設計的一種新的檔案結構,此結構被稱之為PE結構。PE的意思是Portable Executable(可移植的執行體),所有Win32執行體都是用PE檔案格式,其中包括SYS、DLL、EXE、COM、OCX等。(不管是

程式判斷作業系統是16還是32(或64)的?

今天覆習了下C++,總結了這兩種方法用於判斷作業系統的位數,但第一種方法只能用於判斷是32位以上還是16位的,不能判斷是32位還是64位的,因為地址空間在32位和64位系統下都是一樣的。第二種方法可以判斷。 第一種方法:用sizeof()判斷 #include<ios

判斷Hadoop是32還是64

hadoophadoop官網本來提供的都是32位,因為我們大部分都是64位,所以不得不編譯。後來官網從hadoop2.5版本開始就提供了64位。進入$hadoop_home/lib/native,使用file命令:file libhadoop.so.1.0.0libhadoop.so.1.0.0: ELF 3

c#判斷操作系統是32還是64

ping interop 64位 lin last 直接 run 遇到 roc 做一個c#項目時,遇到要獲取操作系統位數的問題,在網上找了幾個小時,都沒有找到比較完整的解決方案。話不多說,直接上可以運行的代碼(簡單、粗暴) using System.Runtime.Con

蘋果產品時間發布表統計(iPhoneiPad),以及3264機的說明

bsp 產品 13.10 上市 pos min ipad mini 時間排序 手機 之前因為某些原因,需要對apple家族的手機和pad產品做一個上市時間排序,以及分析分別是哪種CPU機型 總結如下: iPad家族: 1、iPad     - 2010.1.27發布 2、

如何判斷Linux是32還是64

link ica rip long gnu x86 inux get conf 方法一:getconf LONG_BIT 在linux終端輸入getconf LONG_BIT命令 如果是32位機器,則結果為32 [root@localhost ~]# getcon

golang判斷平臺是32還是64

在看go語言聖經時, 文中提到可以利用下面的表示式獲取系統是32位還是64位的. bit := 32 << (^uint(0) >> 63) 開始看到這式子, 感覺很奇怪, 後面自己找了些資料, 搞明白了. 首先是^uint(0), uint型別並不

判斷SDK中的DLL位數(32還是64)

1.用文字文件開啟DLL,開啟後是一堆亂碼 2.鍵盤敲下“Ctrl+F”,輸入“PE”,區分大小寫 3.找到PE後,他的後面如果是 L => 32 位                     &nb

【原始碼】宣告3264AccessExcel等VBA相容的API函式的方法

1.在宣告中加上  PtrSafe 關鍵字2.加上VBA7 及Win64的判斷 Declare 語句 PtrSafe 關鍵字(可參考VBA幫助)帶有 PtrSafe 關鍵字的 Declare 語句為建議的語法。要使包括 PtrSafe 的 Declare 語句能同時在 32 位和

3264程式的區別

轉自:https://blog.csdn.net/nma_123456/article/details/45077345 由於作業系統記憶體分配的不同,導致軟體開發過程中,需要編譯不同版本的軟體,此處以VS為例。 1、編譯程式根據需要選擇不同的編譯環境:

一個C程式辨別系統是64還是32

知識儲備: 計算機的位數取決CPU中暫存器的寬度,具體來說就是算術邏輯運算單元(ALU)的寬度,用來表徵計算機的計算能力,ALU一次可以計算最大長度整數即計算機的位數。 在32bit的計算機中,ALU一次可以計算的最大整數為4個位元組。 在64bit的計算機中。ALU一次可以計算的最

各種資料型別在163264系統下所佔位元組差異簡介

編寫C、C++程式時需要考慮每種資料型別在記憶體中所佔的記憶體大小,即使同一種資料型別在不同平臺下所佔記憶體大小亦不相同,具體對比如下: 資料型別 16位系統(byte) 32位系統(by

3264 區別 : CPU 作業系統 應用程式

https://www.cnblogs.com/mlgjb/p/8385658.html   原文連結 1.64位CPU與32位CPU 這兩者的指令集合、運算元位數、暫存器名稱和個數等等都不相同。 一、比如一條mov eax,1指令,可能在32bCPU上

判斷Linux系統是32還是64

方法1: 執行以下命令: --------------------------- $ getconf LONG_BIT --------------------------- 如果輸出32即為32位系

Android系統判斷CPU是32還是64

public static final String CPU_ARCHITECTURE_TYPE_32 = "32"; public static final String CPU_ARCHITECTURE_TYPE_64 = "64"; /** ELF檔案頭 e_indent[]陣

如果32程式非要獲取64的登錄檔需要在開啟鍵時,新增引數KEY_WOW64_64KEY。

專案為 vc mfc 32程式,系統安裝的是Win7 64位,在寫C++程式碼讀取登錄檔OFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall這個位置時,發現自動跳轉到了Software\\Wow6432Node\\Mi

關於如何判斷dll是3264的重大誤區

.net平臺支援的有32位、64位以及Any CPU三種編譯模式,這三種編譯模式會導致呼叫該dll時的相容問題。已知的可正常執行的組合有:①32位/64位/Any CPU模式的App呼叫Any CPU模式的dll檔案,除了64位App不能在32位系統執行以外,均可②32位Ap