草庐IT

c++ - 如何调试 STL/C++ 的 GCC/LD 链接过程

我正在使用C++开发裸机cortex-M3,以获取乐趣和利润。我使用STL库是因为我需要一些容器。我认为通过简单地提供我的分配器它不会向最终的二进制文件添加太多代码,因为你只得到你使用的东西。实际上我什至没想到有任何与STL的链接过程(给我的分配器),因为我认为这都是模板代码。顺便说一下,我正在使用-fno-exception进行编译。不幸的是,我的二进制文件中添加了大约600KB或更多。我用nm查看了最终二进制文件中包含的符号,这对我来说似乎是个笑话。列表太长了,我不会尝试跳过它。虽然有一些弱符号。我还查看了链接器生成的.map文件,我什至找到了scanf符号.text0x00015