【发布时间】:2014-02-16 05:27:37
【问题描述】:
有什么方法可以计算 C 中的内存消耗。我已经检查了 Stackoverflow 上的其他答案,但它们并不令人满意。
类似于我们在 Java 中的东西:
// Get the Java runtime
Runtime runtime = Runtime.getRuntime();
// Run the garbage collector
runtime.gc();
// Calculate the used memory
long memory = runtime.totalMemory() - runtime.freeMemory();
System.out.println("Used memory is bytes: " + memory + "bytes");
System.out.println("Used memory is kilobytes: " + bytesTokilobytes(memory) +"kb");
【问题讨论】:
-
你在什么平台上开发?
-
确保指定目标平台。在 C 中没有执行此任务的“标准”方法 - 解决方案将根据操作系统和准确的 what 测量而有所不同。此外,考虑分析(例如使用外部开发工具),除非应用程序确实需要为实际/内部目的执行此操作。
-
你看过this question吗?我认为这可能是重复的。有些答案相当详尽,涵盖了多个平台。如果有,有什么不满意的地方?
-
通过受欢迎的请求作为评论。不消耗内存。它被借用/使用。您可以为手头的任务使用一点计算机内存并能够将其归还。这就像使用道路一样。你不消费它。但记忆是个有趣的东西
-
@Mike - 感谢您提供的链接。该链接上有很多信息,我一定会通过它。我在 Windows 上开发了一个 C 程序,其中一项任务是打印该程序使用的内存。