嵌入式C ++与ARM Gcc,删除不必要的STL函数

时间:2017-04-15 12:56:11

标签: stl linker arm

我用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,函数和数据部分

1 个答案:

答案 0 :(得分:0)

好吧刚刚解决了,

我也没有使用任何流,iostream库包含了很多开销。删除所有

#include <iostream>

包含已保存的120k字节闪光灯