C 查詢Windows的版本和位寬 判斷系統型別

2021-10-12 06:47:31 字數 1477 閱讀 5746

目錄

查詢系統位寬

查詢系統版本

判斷系統類別

參考資料

bool is64bitos()

; fngetnativesysteminfo(&stinfo);

if (stinfo.wprocessorarchitecture == processor_architecture_ia64

|| stinfo.wprocessorarchitecture == processor_architecture_amd64)

} else

return false;

}

/**

\brief 獲取windows系統版本號

\param nmajor 輸出:主版本號

\param nminor 輸出:次版本號

\param nbuildnum 輸出:構建號

*/void getosversion(dword & nmajor, dword & nminor, dword & nbuildnum) noexcept(false)

else

typedef void(__stdcall*ntproc)(dword*, dword*, dword*);

ntproc proc = (ntproc)getprocaddress(hinst, "rtlgetntversionnumbers");

if (null == proc) else

proc(&nmajor, &nminor, &nbuildnum);

freelibrary(hinst);

}

enum class ewinostype ;

/** \brief 根據windows系統版本號判斷系統是否是指定系統

\param nvermajor 主版本號

\param nverminor 次版本號

\param eostype 期望的系統型別

\return 系統是否是指定系統

*/bool iswinostype(const dword nvermajor, const dword nverminor, const ewinostype eostype) noexcept(false)

else

const static std::map> wintypemap },

},},

},},

},},

},},

},},

},},

},},

},}; const auto & ver = wintypemap.at(eostype);

return ver.first == nvermajor && ver.second == nverminor;

}

operating system version

32 位和 64 位 Windows識別

32 位和 64 位 windows 全部顯示 32 位和 64 位版本 windows 之間有什麼區別?術語 32 位 和 64 位 是指計算機的處理器 也稱為 cpu 處理資訊的方式。64 位版本的 windows 可處理大量的隨機訪問記憶體 ram 其效率遠遠高於 32 位的系統。我如何知道我...

Windows 64 位版本的C C 程式設計

microsoft visual c 和 microsoft visual c net 2002 編譯器新增了 wp64 開關,這使您可以測試 32 位 的 64 位相容性問題。編譯器將發出有關指標截斷和不正確轉換的警告。將 32 位應用程式遷移到 windows 64 位版本中前面的乙個步驟就是開...

Windows程式除錯 除錯版本和發布版本的區別

除錯版本和發布版本的區別 除錯版本的編譯選項 鏈結選項 含義 mdd mld 或者 mtd 使用除錯版本的執行時刻函式庫 od關閉優化開關 d debug 開啟條件編譯除錯 開關 zi建立編輯繼續的程式資料庫 gz在除錯版本中捕獲除錯版本的錯誤 gm開啟最小化重新鏈結開關,減少鏈結時間 發布版本的編...