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

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

相关文章

  • C语言八道笔试题精讲带你掌握指针

    C语言八道笔试题精讲带你掌握指针

    C语言这门课程在计算机的基础教学中一直占有比较重要的地位,然而要想突破C语言的学习,对指针的掌握是非常重要的,本文将具体针对指针的基础做详尽的介绍
    2022-07-07
  • C++实现统计代码运行时间计时器的简单实例

    C++实现统计代码运行时间计时器的简单实例

    这篇文章主要介绍了 C++实现统计代码运行时间计时器的简单实例的相关资料,需要的朋友可以参考下
    2017-07-07
  • C++基础入门教程(九):函数指针之回调

    C++基础入门教程(九):函数指针之回调

    这篇文章主要介绍了C++基础入门教程(九):函数指针之回调,本文讲解了函数的地址、声明函数指针、历史原因、typedef挽救复杂的函数指针等内容,需要的朋友可以参考下
    2014-11-11
  • C语言实现扫雷小项目

    C语言实现扫雷小项目

    这篇文章主要为大家详细介绍了C语言实现扫雷小项目,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • C++读入

    C++读入"N,X,Y,Z"格式文本文件到Eigen3 Matrix

    这篇文章主要介绍了C++读入"N,X,Y,Z"格式文本文件到Eigen3 Matrix,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • C++20 格式化字符串的实现

    C++20 格式化字符串的实现

    本文主要讲述了C++20中新引入的std::format功能,该功能用于格式化字符串,提供了一种简洁、类型安全且灵活的方式来构建格式化字符串,文章从使用场景、格式化规则、自定义类型的格式化等方面进行了详细的介绍,感兴趣的可以了解一下
    2024-10-10
  • C语言中typedef的用法以及#define区别详解

    C语言中typedef的用法以及#define区别详解

    这篇文章主要给大家介绍了关于C语言中typedef用法以及#define区别的相关资料,typedef 是用来定义一种类型的新别名的,它不同于宏(#define),不是简单的字符串替换。而#define只是简单的字符串替换(原地扩展),需要的朋友可以参考下
    2021-07-07
  • C++中一维数组与指针的关系详细总结

    C++中一维数组与指针的关系详细总结

    以下是对C++中一维数组与指针的关系进行了详细的总结介绍,需要的朋友可以过来参考下
    2013-09-09
  • C++之eigen安装与测试方式

    C++之eigen安装与测试方式

    这篇文章主要介绍了C++之eigen安装与测试方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • VC++ loadlibrary()加载三方dll失败, 返回错误码:126的解决方法

    VC++ loadlibrary()加载三方dll失败, 返回错误码:126的解决方法

    今天在编写VC++ loadlibrary()加载三方dll是总是失败,并且返回错误码:126,这里就为大家分享一下具体的解决方法
    2021-03-03

最新评论