我用C ++和STL库编写嵌入式系统。
随着内存越来越低,我做了一些内存转储,看看所有内存丢失的地方。在符号转储(arm-none-eabi-objdump -t
)中,我发现libstdcc ++库中有很多项。例如,有348件物品
moneypunct
类,因为我从未使用过这个类,也没有任何文本输出,因此我不需要任何本地化或文本格式化类。
有没有办法从STL库中提供所有这些项目?
编译器是gnu arm嵌入式gcc,(用于ARM嵌入式处理器的Gnu工具6-2017-q1-update,gcc版本6.3.1)
我已经使用了标准的arm gcc优化,例如-Wl,--gcc-sections
,--specs=nano.sepcs
,函数和数据部分
答案 0 :(得分:0)
好吧刚刚解决了,
我也没有使用任何流,iostream库包含了很多开销。删除所有
#include <iostream>
包含已保存的120k字节闪光灯