windows下c中查找程序使用的总内存

2023-12-09

我有一个c语言的小程序

#include <stdio.h>
#include <string.h>
#define SIZE 30

int main()
{
  char name[ SIZE ]; 
  FILE *fpPtr; 

  if ( ( fpPtr = fopen( "sorted_file.txt", "r" ) ) == NULL ) {
    printf( "File could not be opened\n" );
  } 
  else {
    printf( "%s\n", "Name" );
    fscanf( fpPtr, "%s", name );

    while( !feof( fpPtr ) ) {
       printf( "%s\n", name );
       fscanf( fpPtr, "%s", name );
    } 

    fclose( fpPtr ); 
  } 

 return 0; 
};

我想知道这个程序使用了多少内存。我应该添加任何代码或函数来查找该程序使用的总内存。我不想为此检查任务管理器。我需要打印内存使用情况。


听起来你在追求GetProcessMemoryInfo().

您需要 Windows SDK 或来自 mingw32 的相应 Windows 标头才能编译此文件(也可以在 Visual Studio 中使用,以及带有适当库的 cygwin 等):

#include <windows.h> // these header gives you access to the Windows API -
#include <psapi.h> // include at the top of your code

// do this where you need to get that information - perhaps create a function
// for it.

HINSTANCE hProcHandle = GetModuleHandle(NULL);  // get the current process handle
PROCESS_MEMORY_COUNTERS_EX memory; // output will go here.

/* call function */
GetProcessMemoryInfo(hProcHandle, &memory, sizeof(memory));

您现在应该能够访问memory.WorkingSetSize or memory.PrivateUsage,无论哪个衡量标准对您来说都很重要。这些都是size_t类型是无符号整数,其大小取决于您的系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows下c中查找程序使用的总内存 的相关文章

  • 如何引用 .net 可执行文件中的类?

    IL 反汇编程序显示了我想在项目中使用的 Net 可执行文件中的类 我如何使用我自己项目中的这些类 从 Visual Studio 上的项目添加对该可执行文件的引用 您应该有权访问它定义的公共类 可执行文件是一个像任何其他程序集一样的程序集
  • Windows 窗体中的切换开关控件

    我正在设计一个拨动开关控制使用CheckBox 但目前我的控件只能画一个圆圈 如何绘制如下图所示的圆形形状 以及如何根据控件的值更改圆圈的位置以表示选中和未选中的状态 如下图所示 这是我的代码 public class MyCheckBox
  • 合并多边形的高效算法

    我有一个多边形列表 在这个列表中 一些多边形重叠 或者接触其他多边形 我的任务是合并所有相互重叠或接触的多边形 我有一个union执行此操作的方法 做到这一点最有效的方法是什么 我目前能想到的是循环遍历多边形列表 检查合并列表以查看该多边形
  • 不要覆盖 Azure Blob 存储

    我有一种将文件添加到 Azure Blob 存储的方法 问题是我试图指定一个条件 在该条件下它不会覆盖 blob 而只是添加到其中 我正在尝试使用参数访问条件 但是 VS 说这个方法不能采用两个参数 async void archiveNe
  • 从 C# 访问 COM vtable

    C 中有没有办法访问 COM 对象的虚拟方法表以获取函数的地址 经过大量搜索和拼凑不同的部分解决方案后 我弄清楚了如何做到这一点 首先 您需要为您尝试访问的对象定义 COM 组件类 ComImport Guid InterfaceType
  • 增强缓冲区调用后丢失自定义点类型的数据

    我有我自己的观点 class LocationWayPoint public latlong container location WORD index PWeakBasicStation station namespace boost n
  • Image.FromStream() 方法返回 Invalid Argument 异常

    我正在从智能相机成像器捕获图像 并通过套接字编程从相机接收字节数组 NET 应用程序是客户端 相机是服务器 问题是我在运行时收到 System InvalidArgument 异常 private Image byteArrayToImag
  • 使用 Rhino Mocks 模拟集合

    所以我猜这是很多人想做的事情 模拟集合 过去我用 Rhino 做过这样的事情 var col mock MockRepository GenerateMock
  • std::istringstream >> 使奇怪的行为加倍

    下面的代码打印0在 mac osx 上使用 clang 其他地方都会打印5 clang https ideone com mVgpzS gcc https ideone com oZ0hy6 include
  • 不使用 DAO 压缩 Microsoft Access 数据库

    我用CDatabase类开一个ACCDB访问数据库 司机是 T Microsoft Access Driver mdb accdb 我可以打开并使用数据库 已经这样做很多年了 if DatabaseExist m strMDBPath AJ
  • 如何检查我的程序是否有数据通过管道传输到其中

    我正在编写一个应该通过标准输入读取输入的程序 所以我有以下结构 FILE fp stdin 但是 如果用户没有将任何内容通过管道传输到程序中 这就会挂起 我如何检查用户是否确实将数据通过管道传输到我的程序中 例如 gunzip c file
  • 使用智能指针在大型对象集合中创建多个索引

    我正在为一个大型对象集合创建多个索引 即使用不同的键 对象可以改变 集合可以缩小和增长 到目前为止我的想法 保留某种指向对象的指针的多个集合 使用set代替map以获得更好的封装 使用 unordered set 可以很好地扩展大型数据集
  • 使用 System.Windows.Forms.Timer.Start()/Stop() 与 Enabled = true/false

    假设我们在 Net 应用程序中使用 System Windows Forms Timer 在计时器上使用 Start 和 Stop 方法与使用 Enabled 属性之间有什么有意义的区别吗 例如 如果我们希望在进行某些处理时暂停计时器 我们
  • 以编程方式将 UserControl 从 ContentControl 移动到另一个 ContentControl

    在 WPF 应用程序中 我想在代码中将 UserControl 从 ContentControl 移动到另一个控件 myContentControl2 Content myUserControl 在这种情况下我得到一个错误 指定的元素已经是
  • 如何在不加载到内存的情况下对大型 csv 文件进行排序

    我有 20GB csv 文件 如下所示 CallId MessageNo Information Number 1000 1 a 2 99 2 bs 3 1000 3 g 4 66 2 a 3 20 16 3 b 1000 7 c 4 99
  • 通过 C++ 标头在 C++ 和 C# 中使用枚举

    我有一个用 C 编写的服务器 位于命名管道的末端 嗯 提供服务 可以发送到服务器的命令在位于头文件中的枚举中定义 enum e doThing1 e doThing2 e doLastThing 所需枚举的值被放入发送到服务器的消息的第一个
  • nVidia 和 ATI 之间的 OpenGL 渲染差异

    最近 我将 ATI 驱动程序 我使用的是 HD7970 更新为最新版本 但我的 OpenGL 项目的一些对象停止工作 更重要的是 他们适用于 nVidia 最新驱动程序 在 960m 上测试 ATI 和 nVidia 渲染管道之间有什么我应
  • 阅读《Effective、MoreEffective 和Effective Modern C++(和 STL)》的首选顺序是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 据我所知 More effective C 是 Effective C 的扩展 而 Effective Modern C 则专注于 C 11 和
  • WPF - 将窗口置于前面

    我有一个 WPF 窗口 我没有关闭它 相反 我执行 Hide 和 Show 它 现在 当我双击记录上网格中的主窗口时 这将触发 Show 窗口 该窗口将始终显示在主窗口后面 我尝试过以下方法 但没有成功 view Show view Act
  • 布尔实现的atomicCAS

    我想弄清楚是否存在错误答案 https stackoverflow com a 57444538 11248508 现已删除 关于Cuda like的实现atomicCAS for bool是 答案中的代码 重新格式化 static inl

随机推荐

  • 如何修复 jslint 消息:变量已定义

    我试图实现以下代码 var action function e if e var e window event e cancelBubble true if e stopPropagation e stopPropagation conta
  • Android:AsyncTask 发出 HTTP GET 请求?

    我是 Android 开发新手 我的问题是 我是否使用 AsyncTask 来发出 HTTP GET 请求 JSON 响应 它是否正确 如果这确实是真的 有谁知道我在哪里可以看到这样的例子 如果没有 你能纠正我吗 谢谢 是的 你是对的 As
  • Swift:对成员“map”的引用不明确

    我正在阅读 Swift 编程语言 4 2 在开始的章节 第 23 页 我有以下要求 重写闭包以对所有奇数返回零 我的解决方案是 let myArray Int 1 2 3 4 5 myArray map number Int in if n
  • 使用下划线对“Function2”参数进行类型推断失败

    为什么类型推断器放弃这一点 def test a Seq Int b Seq Int a b zipped map 2 no Like so
  • 均衡数组所需的最小转换次数[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 给定一个包含 n 个正元素 包括 0 的数组 我们只能执行一种转换 即增加列表中除一个元
  • 扫描器在 nextInt 上抛出 NoSuchElementException

    逻辑工作正常 但是当 while 循环到达末尾并重新开始时 当它使用此行再次从键盘读取我的下一个选项时 gt option kb nextInt 它给了我一个例外 更准确地说是下面这个 Exception in thread main ja
  • 用java读取下一个单词

    我有一个文本文件 其中包含以下内容 ac und accipio annehmen ad zu adeo hinzugehen 我读取文本文件并遍历各行 Scanner sc new Scanner new File translate t
  • 在 Vim 中自定义语法突出显示

    我怎么能保留所有当前格式对于文件类型但是添加功能 我想突出显示 vim 文件中的颜色 以便突出显示每种颜色终端将如何解析它 我创建了一个 vim vim 文件 其中包含 syn keyword yellow yellow contained
  • SyntaxError:仅当启用“classProperties”插件时才能使用类属性

    当我使用以下命令初始化应用程序时 出现以下语法错误react native init MyApp SyntaxError Users MyAccount RNProjects app node modules react native pa
  • 与作曲家的项目结构

    我正在尝试使用作曲家文件创建一个项目 原因主要是我不想上传到 git 的依赖关系 我的预期结构是这样的 项目根文件夹 项目子文件夹 供应商 与required 依赖项 索引 php 作曲家 json 自述文件 md 但是使用composer
  • 将对象数据传递给 Vue.js 中的样式

    我希望能够将数据从对象传递到
  • UIButtons 在动画期间没有响应 - iOS Swift 3

    我正在构建一个计算器应用程序 当我点击按钮时会出现一个简短的动画 问题是按钮在动画时没有响应 这使得应用程序感觉滞后 我找到了一些 Objective C 的解决方案 使用 UIViewAnimationOptionAllowUserInt
  • 为什么我的键盘挂钩多次收到相同的按键向上和按键按下事件?

    In 我之前的问题 我报告说扫描条形码时键盘挂钩会报告所有内容两次 我把这归因于按键和关键事件 并收到了很好的建议 仔细观察后 我发现每个数字实际上被报告了四次 这是一个粗略的 通过打印进行调试 谁能建议我可能做错了什么 您需要更多信息吗
  • Zend 命名空间 - 检查会话是否存在

    All 我正在使用 Zend Framework 和 Zend Session 为我的应用程序进行全局会话管理 我计划在注销时清除所有会话 因此使用以下代码 if this gt sessionExists this gt destroy
  • 将 CSV 导入 MySQL

    我已经创建了一个数据库和一个表 我还创建了我需要的所有字段 我创建了 46 个字段 其中一个字段是我的行 ID CSV 不包含 ID 字段 也不包含列的标题 我对这一切都很陌生 但一直在努力解决这个问题 我在这里并不是懒惰地寻求答案 而是在
  • 如何使用样式表更改 QSlider 手柄宽度

    我有一个应用程序 我不想在 10 触摸屏上运行 我正在尝试使 QSlider 手柄更大 以便更容易移动 我在样式表中找到了大量更改手柄宽度的示例 但是当我运行代码时 这些更改没有反映出来 我正在使用 PyQt5 Designer 这里是滑块
  • Jquery UI 自动完成功能在 IE10 上不起作用

    我正在制作一个网站 但我无法在 IE 10 上使用这个 Jquery 插件 这是我的 HEAD 代码
  • 如果 WHERE 语句的变量为 null,则跳过该语句

    我会有一张桌子 TABLE1 ID Name Country 1 Anna Singapore 2 Brad UK 3 Cassie US declare place varchar 20 set place US select from
  • 如何从 2 个列表创建关联列表?

    在 DrScheme 中 如何从 2 个列表创建关联列表 例如 我有 y 1 2 3 x a b c 而且我要 z a 1 b 2 c 3 假设方案 因为你的最后两个问题是关于方案 define x 1 2 3 define y 4 5 6
  • windows下c中查找程序使用的总内存

    我有一个c语言的小程序 include