C语言实现获取内存信息并输出的实例
实现实例代码:
headfile.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#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 ( " " ); } } } double showMemoryInfo() { double MemorySize; //单位MB HANDLE handle=GetCurrentProcess(); PROCESS_MEMORY_COUNTERS pmc; GetProcessMemoryInfo(handle,&pmc, sizeof (pmc)); MemorySize=pmc.WorkingSetSize/1024; printf ( "内存使用: %8lf " ,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, " " ); 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; } |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/afandaafandaafanda/article/details/44992447