在Windows下取得CPU的时钟速度(PROCESSOR_POWER_INFORMATION)
来源:互联网 发布:电话网络系统 编辑:程序博客网 时间:2024/05/18 18:14
一直想在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的时钟速度(PROCESSOR_POWER_INFORMATION)
- 在Windows下统计进程的CPU使用率
- CPU的时钟频率
- 计算CPU的运算速度和指令平均时钟数实例
- 在windows下编译tensorflow(cpu)
- Windows下编程--模拟时钟的实现
- 使用Cygwin在Windows下取得Android源代码
- 使用Cygwin在Windows下取得Android源代码
- 使用Cygwin在Windows下取得Android源代码
- 使用Cygwin在Windows下取得Android源代码
- 如何在Linux上得到CPU的工作速度
- windows下时钟同步
- windows下实现特定进程在指定的逻辑cpu下运行的方法.
- caffe在windows下如何在vs2013新建工程开发自己的应用cpu模式
- caffe在windows下如何在vs2013新建工程开发自己的应用cpu模式
- 如何取得CPU的主频
- 实时时钟、系统时钟和CPU时钟的区别
- 在windows的Anaconda下编译caffe的python接口(CPU模式)
- CIO谈IT招聘:应聘者技能不占先
- asp.net分页
- 博客开张~~~
- 与你无关
- 身份验证——谈谈OpenID
- 在Windows下取得CPU的时钟速度(PROCESSOR_POWER_INFORMATION)
- 用Disk Genius处理硬盘0磁道损坏问题
- 获得登录域名
- Zeta Debugger v1.5[11.09.2008]
- 自然计算
- 启动开始菜单
- Gridview无法更新....
- 登录界面做成了
- 完成“易写易库(EXEK)”之后,计划再开发一个可以写EF类库的易语言模块