瑞帅 2018-02-24 05:21 采纳率: 75%
浏览 1313
已结题

请问GetSystemTimes这个函数显示未定义的原因ps:本人绝对菜鸟,恳求指点

#include
#include
#include "winbase1.h"//含有GetSystemTimes函数的winbase.h移动到了原文件目录下
double ProgTime[2];
double KernTime[2];
double UserTime[2];
void cpucasement(){
SYSTEM_INFO systeminfo;
GetSystemInfo(&systeminfo);
printf("系统:\t\tWindows\n");
printf("处理器个数:\t%d\n",systeminfo.dwNumberOfProcessors);
printf("处理器掩码:\t%d\n",systeminfo.dwActiveProcessorMask);
printf("处理器类型:\t%d\n",systeminfo.dwProcessorType);
printf("处理器等级:\t%d\n",systeminfo.wProcessorLevel);
printf("处理器版本:\t%d\n",systeminfo.wProcessorRevision);}
void GetDisk(){
double a[4],b[4],c[4];
GetDiskFreeSpaceEx("C:",a,b,c);
GetDiskFreeSpaceEx("D:",a+1,b+1,c+1);
GetDiskFreeSpaceEx("E:",a+2,b+2,c+2);
printf("硬盘利用率:\t%.3lf%%\n",(1-(c[0]+c[1]+c[2])/(b[0]+b[1]+b[2]))*100);}
double FileTimeToDouble(FILETIME*q){
double w;
w=(double)(q->dwHighDateTime*4.284967296E9)+(double)(q->dwLowDateTime);
return w;
}
int GetTime(){
int jud[2]={0},i=0;
FILETIME a,b,c;
for(i=0;i<2;i++){
jud[i]=GetSystemTimes(&a,&b,&c);
ProgTime[i]=FileTimeToDouble(&a);
KernTime[i]=FileTimeToDouble(&b);
UserTime[i]=FileTimeToDouble(&c);
Sleep(10);}
return jud[0]&&jud[1];
}
int main(){
int jud=1;
cpucasement();
GetDisk();
while(jud){
jud=GetTime();
printf("cpu利用率为:%.2lf",1-(ProgTime[1]-ProgTime[0])/(KernTime[1]-KernTime[0]+UserTime[1]-UserTime[0]));
}

return 0;}

  • 写回答

5条回答 默认 最新

  • 瑞帅 2018-02-24 05:31
    关注

    第一个头文件stdio.h第二个windows.h

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?