我是一名 C++ 程序员,多年来一直听说 STL不适合在嵌入式环境中使用,因此通常禁止在基于嵌入式环境的项目中使用。我相信像 Boost 这样的 STL 库功能更强大并提供一种更快、更不容易出错的开发方式(当然,语法有点吓人,但一旦过去,我认为它是一个真正的宝藏)。另外,我发现 STL 很重并且增加了代码的最终足迹的说法是荒谬的,因为它被模板化的人只会得到他要求的可编译代码,而不是整个 STL。
我的问题是,这种称为 STL 的民粹主义(至少我周围的大多数人都这么认为)概念不适用于嵌入式环境的原因是什么?
我确实看到了一个类似性质的问题,但在这里我期待帮助指出关于 STL 和嵌入式环境的一般优缺点。
编辑:所以在这里我将在收到回复时添加要点:
1. 可移植性问题
2. 应对 STL 容器的巨大 dymanice 分配
3. STL 难以调试
4. STL 中的深度函数调用导致编译器性能低下内联弱(函子的力量无用!)