如今 64 位系統越來越流行了 , 對於軟體開發人員來說 , 掌握 64 位開發技術將會有更好的發展空間 ; 而且經過這幾年的發展 , 64 位開發工具也成熟了 , 例如 visual studio 2010 等後續版本 ;
關於如何配置64位平台 , msdn上有詳細的介紹 :
在很多時候 , 我們希望能相容老系統 , 於是配置了兩個編譯平台 win32 和 x64 ;
但光這樣做還是不夠的 , 因為老系統不支援某些新功能 ; 所以我們需要在執行時動態動態判斷 ;
最常見的判斷有兩種 :
對於第一種判斷程式位數 , 雖然也可以通過配置預處理符號 , 做編譯時判定 ; 但該方法稍微有點繁瑣 , 而且在有些情況下不太適合 , 例如我想獲得程式位數字串 , 就必須用#if
等語句寫多行** ;
對於第二種判作業系統位數 , 那就只有在執行時判斷了 ;
#include "stdafx.h"
#include #include #include #include // 獲取程式位數 (被編譯為多少位的**)
int getprogrambits()
// 獲取系統資訊
void safegetnativesysteminfo(__out lpsystem_info lpsysteminfo)
typedef void (winapi *funcgetsysteminfo)(lpsystem_info lpsysteminfo);
funcgetsysteminfo funcgetnativesysteminfo = (funcgetsysteminfo)getprocaddress(getmodulehandle(_t("kernel32")), "getnativesysteminfo");
// 優先使用 "getnativesysteminfo" 函式來獲取系統資訊
// 函式 "getsysteminfo" 存在系統位數相容性問題
if (null != funcgetnativesysteminfo)
else }
// 獲取作業系統位數
int getsystembits()
return 32;
}int _tmain(int argc, _tchar* argv)
作者 github : tojohnonly , 部落格 : enskdecode
linux獲取系統位數
getconf命令 getconf命令可以用來獲取系統的基本配置資訊,如作業系統位數,記憶體大小,磁碟大小等等。確定實際記憶體大小 getconf real memory 確定是否機器硬體是 32 位或 64 位 getconf hardware bitmode 確定是否核心是 32 位或 64 位...
c 判斷程式及作業系統位數
曾經在書上看到過,也被人問起過,搜尋過,為了記憶更加深刻,還是寫一篇博文吧 程式位數是將一段程式編譯後,程式本身的位數,比如32bit。32bit程式在一般情況下可以在32bit和64bit的作業系統上執行。下面分別列出獲取程式位數和作業系統位數的方法 程式位數 通過指標位數即可獲得 sizeof ...
linux系統位數檢視和cpu位數
1.uname a如果有x86 64就是64位的,沒有就是32位的 這是64位的 uname a linux desktop 2.6.35 23 generic 37 ubuntu smp fri nov 5 19 17 11 utc 2010 i686 gnu linux 這是32位的 uname...