欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

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

来源:本站原创|时间:2020-01-10|栏目:C语言|点击:

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; 
} 

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

上一篇:C语言数据结构中二分查找递归非递归实现并分析

栏    目:C语言

下一篇:C++ 中重载和运算符重载加号实现矩阵相加实例代码

本文标题:C语言实现获取内存信息并输出的实例

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/1685.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有