首页 > 编程 > C > 正文

C语言实现获取内存信息并输出的实例

2020-01-26 14:12:50
字体:
来源:转载
供稿:网友

C语言实现获取内存信息并输出的实例

实现实例代码:

headfile.h

#include <stdio.h> #include <stdlib.h> #include <time.h>  #define TRUE 1 #define FALSE 0 #define MAX 10000  typedef int KeyType; typedef int OtherType;  typedef struct {   KeyType key;   OtherType other_data; }RecordType; 

seek.cpp

#include "stdafx.h" #include "headfile.h" #include "windows.h" #include "conio.h "  #include"WinBase.h" #include "Psapi.h"  #pragma once #pragma message("Psapi.h --> Linking with Psapi.lib") #pragma comment(lib,"Psapi.lib")  int Data[MAX]={0};  void produceData(int a[],int length)    //给数组生成数据,用于随即查找 {   time_t t;   srand(time(&t));   for (int i=0;i<length;i++)   {     a[i]=rand()%length;   } }  void printData(int a[],int length)   //打印数字,到控制台,每五个换一行 {   for (int i=0;i<length;i++)   {     printf("%8d",a[i]);     if (0==i%5)     {       printf("/n");     }   } }  double showMemoryInfo()   {     double MemorySize;         //单位MB   HANDLE handle=GetCurrentProcess();      PROCESS_MEMORY_COUNTERS pmc;     GetProcessMemoryInfo(handle,&pmc,sizeof(pmc));    MemorySize=pmc.WorkingSetSize/1024;    printf("内存使用: %8lf /n",MemorySize);  //WorkingSetSize The current working set size, in bytes.    return MemorySize; }   void writeRecordtime(unsigned rTime)//将程序结果运行时间写入文件 {   FILE *fpRecord=NULL;     char *s="your programm running time is:  ";   char *c="ms  ";    if((fpRecord=fopen("record.txt","wt+"))==NULL)    {      printf("Cannot open file strike any key exit!");      getchar();      exit(1);    }     fprintf( fpRecord, "%s", s);   fprintf( fpRecord, "%d", rTime);   fprintf( fpRecord, "%s", c);    fprintf( fpRecord, "/n");   fprintf( fpRecord, "your programm use %fMB size of memory!!!", showMemoryInfo());    fclose(fpRecord);  }  int _tmain(int argc, _TCHAR* argv[]) {   produceData(Data,MAX);   printData(Data,MAX);   getchar();   return 0; } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选