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

 更新时间:2017年03月25日 14:33:28   投稿:lqh  
这篇文章主要介绍了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; 
} 

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

相关文章

  • wxWidgets实现图片和文件按钮

    wxWidgets实现图片和文件按钮

    这篇文章主要为大家详细介绍了wxWidgets实现图片和文件按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • c++创建二维动态数组与内存释放问题

    c++创建二维动态数组与内存释放问题

    这篇文章主要介绍了c++创建二维动态数组与内存释放问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • 关于C/C++内存管理示例详解

    关于C/C++内存管理示例详解

    这篇文章主要给大家介绍了C/C++内存管理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • C++中inline用法案例详解

    C++中inline用法案例详解

    这篇文章主要介绍了C++中inline用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • c语言中使用BF-KMP算法实例

    c语言中使用BF-KMP算法实例

    这篇文章主要介绍了c语言中使用BF-KMP算法,大家参考使用
    2013-11-11
  • C++中带空格字符串的输入问题解决

    C++中带空格字符串的输入问题解决

    这篇文章主要给大家介绍了关于如何解决C++中带空格字符串的输入问题,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • 排列组合总结:将结果进行输出的实现方法

    排列组合总结:将结果进行输出的实现方法

    本篇文章关于排列组合的总结,对结果进行输出做了介绍。需要的朋友参考下
    2013-05-05
  • c++11中regex正则表达式示例简述

    c++11中regex正则表达式示例简述

    这篇文章主要给大家介绍了关于c++11中regex正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c++11具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • C++存储链接性原理详解

    C++存储链接性原理详解

    这篇文章主要为大家介绍了C++存储链接性原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • C++深入探究友元使用

    C++深入探究友元使用

    采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该类的友元函数
    2022-07-07

最新评论