c++ - 内存使用检查

标签 c++ gcc embedded

我有一个使用 arm-none-eabi-gcc 编译的嵌入式应用程序,我遇到了很大的 ram 使用问题。

使用 arm-none-eabi-nm 我可以找出为某个对象分配了多少内存。但是当这个对象是类实现时,我无法找出每个类成员使用了多少内存。怎么知道?

因为类成员很多,而且没有嵌入式应用程序的控制台,所以很难为每个成员调用sizeof()

最佳答案

检查链接器生成内存映射文件。大多数情况下它将是“.map 扩展名”。

在许多 IDE 中默认禁用,并且由于此链接器不会生成此文件,在这种情况下您必须从项目设置中启用它。

关于c++ - 内存使用检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38181808/

相关文章:

c - 如何在 32 位架构中为 64 位整数创建数据结构?

embedded - 用于嵌入式 Linux 的 GLib?

c++ - ifstream、ofstream 和 fstream 之间有什么区别?

c++ - 求 vector 的平均值

c++ - GNU MP : Cannot allocate memory (size=4294959136)

linux - undefined symbol : _gst_fraction_type for gstreamer 1. *

c++ - 为什么 const 左值引用可以引用可变右值引用?

c++ - p0083 中 "very efficient factories for elements"的用途

c++ - 将默认赋值运算符声明为 constexpr : which compiler is right?

c - 开发分布式系统时,GCC 工具链的哪些元素应该相同?