我正在开发一款使用Linux操作系统的设备软件。因此,我所使用的库(RAM / ROM)大小非常重要。
如何轻松计算我的软件所需的RAM / ROM?(包括我使用的库) 我认为对于有经验的Linux开发人员来说,这是一个非常简单的问题。
如何轻松计算我的软件所需的RAM / ROM?(包括我使用的库) 我认为对于有经验的Linux开发人员来说,这是一个非常简单的问题。
运行
size <object>
或者
size <archive>
或者
size <shared-object>
如果你在交叉编译,那么使用"target-size"(或者"arm-size",如果你正在使用arm-gcc)。
这将为您提供一个
text data bss dec hex filename
表格,其中文本为程序大小,bss为已初始化的全局变量,data为只读数据。虽然这回答了你的问题,但当你使用ld作为链接器时,你可能需要使用特定的LdScript,在最终链接时手动将节放置到可用的内存中。
malloc
或者有非平凡的调用模式(特别是递归),理论上甚至无法预测堆栈需要多少RAM。有一些分析器可以在确定典型嵌入式程序的堆栈需求方面工作得相当好,但它们通常不便宜。 - Gilles 'SO- stop being evil'