日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Windows下获取CPU频率

發布時間:2023/12/24 综合教程 39 生活家
生活随笔 收集整理的這篇文章主要介紹了 Windows下获取CPU频率 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一直想在Windows下取得CPU的時鐘速度,找了好久終于找到了函數CallNtPowerInformation,要想使用它,首先必須包含powrprof.h頭文件和鏈接庫powerprof.lib.但是還有幾個問題:

首先powrprof.h和許多其它在Platform SDK中的頭文件一樣依然沒有被C++驗證,如果你在C++程序中包含它的時候如果不小心,依然會有鏈接錯誤。最好這樣包含它:

extern"C"{
#include <powrprof.h>
}
第二個原因是有一個結構不知道什么原因沒有包含在powrprof.h中,這個結構是PROCESSOR_POWER_INFORMATION.在Visual C++ 2008 Express Edition中仍然存在這個問題。為了取得正確的處理器速度,我們需要調用CallNtPowerInformation。ProcessorInformation枚舉值是第一個參數,PROCESSOR_POWER_INFORMATION 結構的一個數組作為Output緩存(對應于每一個安裝在系統中的處理器芯片)。

一種解決的辦法是:這個結構因為在MSDN中有定義,所以我們可以在我們自己的文件里定義它:

typedef struct _PROCESSOR_POWER_INFORMATION {
  ULONG  Number;
  ULONG  MaxMhz;
  ULONG  CurrentMhz;
  ULONG  MhzLimit;
  ULONG  MaxIdleState;
  ULONG  CurrentIdleState;
} PROCESSOR_POWER_INFORMATION , *PPROCESSOR_POWER_INFORMATION;

從PROCESSOR_POWER_INFORMATION這個結構的定義中你可以發現,這個結構提供CPU速度的信息,例如最大速度,當前速度,和空閑狀態(盡管我承認我不知道空閑狀態位--我會去解決的)有一個相關的API函數GetPwuCapabilities,它也可以取得系統的一些性能。

總結

以上是生活随笔為你收集整理的Windows下获取CPU频率的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。