首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++中获取数据分段大小

如何在C++中获取数据分段大小
EN

Stack Overflow用户
提问于 2015-03-02 13:16:16
回答 3查看 2.5K关注 0票数 1

我需要对用C++编写的一个库的内存需求进行分析,因为HW工程师需要了解我们硬件的内存需求。我可以测量堆大小峰值,我可以测量堆栈大小,但是我不知道如何估计/测量数据段大小和Bss大小。或GCC有什么方法吗?我假设它会因编译器和平台的不同而有所不同,但对我来说,估计是可以的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-02 13:28:11

在建造过程中:

这两个选项都生成一个包含段大小的映射文件。

票数 2
EN

Stack Overflow用户

发布于 2015-03-02 13:28:00

有一个size实用程序。例如,对于ARM MCU项目,可以是这样的:

代码语言:javascript
复制
arm-none-eabi-size --format=sysv "program_name.elf"

示例输出:

代码语言:javascript
复制
program_name.elf  :
section             size        addr
.text              14516           0
.data                160   268435456
.bss                1328   268435616
.stack              2528   268436944
.debug_aranges      2384           0
.debug_info        40951           0
.debug_abbrev       8870           0
.debug_line        27790           0
.debug_frame        6664           0
.debug_str         42157           0
.debug_loc          7074           0
.debug_macinfo    426030           0
.ARM.attributes       47           0
.debug_ranges       1760           0
.comment              96           0
.debug_macro        9236           0
Total             591591
票数 4
EN

Stack Overflow用户

发布于 2015-03-02 13:30:21

您可以使用objdump获取Linux系统上文本、数据和bss段的大小。您可以检查.bss.text部分的输出。

有关更详细的解释,请参见这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28810727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档