程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C語言實現獲取內存信息並輸出的實例

C語言實現獲取內存信息並輸出的實例

編輯:關於C++

C語言實現獲取內存信息並輸出的實例。本站提示廣大學習愛好者:(C語言實現獲取內存信息並輸出的實例)文章只能為提供參考,不一定能成為您想要的結果。以下是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; 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved