• 大小: 112KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-26
  • 语言: C/C++
  • 标签: Windows  内存  C/C++  

资源简介

内存清理工具 Windows 内存,程序是控制台应用程序,用C/C++写的。 使用EmptyWorkingSet/SetProcessWorkingSetSize实现内存清理与优化 程序只是对清理工具实现原理的一个展示,不建议大家使用来解决内存不够 详细介绍参看:http://blog.csdn.net/paschen/article/details/52829867

资源截图

代码片段和文件信息

// RAMCleaner.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“

//使用EmptyWorkingSet/SetProcessWorkingSetSize清理系统内存
//注:一切只是一个假象,将程序工作内存写入Windows的页面文件中反而会导致系统变慢

#define MB_UNIT

#if defined KB_UNIT

#define DIV (1024ULL)
#define WIDTH 10

#elif defined MB_UNIT

#define DIV (1024ULL * 1024ULL)
#define WIDTH 7

#elif defined GB_UNIT

#define DIV (1024ULL * 1024ULL * 1024ULL)
#define WIDTH 4

#else

#error One of KB_UNIT MB_UNIT GB_UNIT needs to be defined!

#endif

void PrintMemoryStatus()
{
MEMORYSTATUSEX statex;
statex.dwLength = sizeof(statex);
if (::GlobalMemoryStatusEx(&statex))
{
#if defined KB_UNIT
_tprintf(_T(“There is  %*ld percent of memory in use.\n“) WIDTH statex.dwMemoryLoad);
_tprintf(_T(“There are %*I64d total KB of physical memory.\n“) WIDTH statex.ullTotalPhys / DIV);
_tprintf(_T(“There are %*I64d free  KB of physical memory.\n“) WIDTH statex.ullAvailPhys / DIV);
_tprintf(_T(“There are %*I64d total KB of paging file.\n“) WIDTH statex.ullTotalPageFile / DIV);
_tprintf(_T(“There are %*I64d free  KB of paging file.\n“) WIDTH statex.ullAvailPageFile / DIV);
_tprintf(_T(“There are %*I64d total KB of virtual memory.\n“) WIDTH statex.ullTotalVirtual / DIV);
_tprintf(_T(“There are %*I64d free  KB of virtual memory.\n“) WIDTH statex.ullAvailVirtual / DIV);
//_tprintf(_T(“There are %*I64d free  KB of extended memory.\n“) WIDTH statex.ullAvailExtendedVirtual / DIV);
#elif defined MB_UNIT
_tprintf(_T(“There is  %*ld percent of memory in use.\n“) WIDTH statex.dwMemoryLoad);
_tprintf(_T(“There are %*I64d total MB of physical memory.\n“) WIDTH statex.ullTotalPhys / DIV);
_tprintf(_T(“There are %*I64d free  MB of physical memory.\n“) WIDTH statex.ullAvailPhys / DIV);
_tprintf(_T(“There are %*I64d total MB of paging file.\n“) WIDTH statex.ullTotalPageFile / DIV);
_tprintf(_T(“There are %*I64d free  MB of paging file.\n“) WIDTH statex.ullAvailPageFile / DIV);
_tprintf(_T(“There are %*I64d total MB of virtual memory.\n“) WIDTH statex.ullTotalVirtual / DIV);
_tprintf(_T(“There are %*I64d free  MB of virtual memory.\n“) WIDTH statex.ullAvailVirtual / DIV);
//_tprintf(_T(“There are %*I64d free  MB of extended memory.\n“) WIDTH statex.ullAvailExtendedVirtual / DIV);
#elif defined GB_UNIT
_tprintf(_T(“There is  %*ld percent of memory in use.\n“) WIDTH statex.dwMemoryLoad);
_tprintf(_T(“There are %*I64d total GB of physical memory.\n“) WIDTH statex.ullTotalPhys / DIV);
_tprintf(_T(“There are %*I64d free  GB of physical memory.\n“) WIDTH statex.ullAvailPhys / DIV);
_tprintf(_T(“There are %*I64d total GB of paging file.\n“) WIDTH statex.ullTotalPageFile / DIV);
_tprintf(_T(“There are %*I64d free  GB of paging file.\n“) WIDTH statex.ullAvailPageFile / DIV);
_tprintf(_T(“There are %*I64d total GB of virtual memory.\n“) WIDTH statex.ullTotalVirtual / DIV);
_tprintf(_T(“There are %*I64d free  GB of virtual memo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        872  2016-10-15 18:18  内存清理工具\resource.h

     文件        320  2016-10-15 19:48  内存清理工具\stdafx.h

     文件        240  2016-10-15 18:05  内存清理工具\targetver.h

     文件       5325  2016-10-15 20:30  内存清理工具\RAMCleaner.cpp

     文件        214  2016-10-15 18:05  内存清理工具\stdafx.cpp

     文件     174080  2016-10-15 20:32  内存清理工具\Release\RAMCleaner.exe

     文件     193024  2016-10-15 20:32  内存清理工具\x64\Release\RAMCleaner.exe

     目录          0  2016-10-16 16:13  内存清理工具\x64\Release

     目录          0  2016-10-16 16:13  内存清理工具\Release

     目录          0  2016-10-16 16:13  内存清理工具\x64

     目录          0  2016-10-16 16:13  内存清理工具

----------- ---------  ---------- -----  ----

               374075                    11


评论

共有 条评论