給你一個 Linux 系統(tǒng),如何判斷它的位數(shù)?
我經(jīng)常用的,有這么幾種方式。
第一個,使用命令:
uname -m。
uname命令在 Linux 中用于顯示與操作系統(tǒng)內(nèi)核相關(guān)的信息,加上 -m 可以顯示處理器的架構(gòu)名稱。
比如 x86_64,表示的是 64 位處理器,i686 表示的是 32 位處理器。
從處理器架構(gòu)可以間接的判斷操作系統(tǒng)的位數(shù),不過這個也只能作為參考。
有些系統(tǒng)做了特殊配置或者虛擬化技術(shù)等等,這個方法就不行。
第二個,使用:
getconf LONG_BIT
命令,這個命令專門用于獲取操作系統(tǒng)的位數(shù),在大多數(shù)情況下,得到的結(jié)果都是沒問題的。
第三個,通過寫代碼來判斷。
#include#include // 包含_WORDSIZE宏定義的頭文件 int main() { #if defined (__WORDSIZE) && __WORDSIZE == 32 printf("32-bit system "); #elif defined (__WORDSIZE) && __WORDSIZE == 64 printf("64-bit system "); #else printf("Waring: Unable to determine system bitness! "); #endif return 0; }
在這個頭文件中,有個宏定義叫 WORDSIZE,數(shù)值要么是 32 要么是 64,用過這個宏定義也能判斷出系統(tǒng)的位數(shù)。
當然,也有同學會通過 long 類型的長度來判斷,long 類型在 32 位系統(tǒng)一般占 4 字節(jié),在 64 系統(tǒng)一般占 8 字節(jié)。不過這也跟編譯器有關(guān)系,也不排除 64 位系統(tǒng)占 4 字節(jié)的情況。
關(guān)于判斷操作系統(tǒng)的位數(shù),還有哪些方法,歡迎在評論區(qū)交流。
-
處理器
+關(guān)注
關(guān)注
68文章
19259瀏覽量
229652 -
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209328 -
位數(shù)
+關(guān)注
關(guān)注
0文章
3瀏覽量
2382
原文標題:如何判斷Linux系統(tǒng)的位數(shù)
文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論