Jes*_*eTG 7 c++ stl standard-library c++-standard-library
寻找没有标准库的特定C++环境(编译器,操作系统,硬件等)(例如"Nintendo 3DS的x版本gcc")
某些C++库(如Box2D或TinyXML2)旨在实现超级便携,如果有的话,只使用很少的标准库.但是,我并不完全理解这种方法. 哪些主动使用的C++环境缺乏(大多数,如果不是全部)标准库的支持?
C++标准库支持可能因不同的编译器供应商而不同,甚至可能在同一编译器的不同版本之间.在嵌入式系统和各种控制台上尤其如此.
"变化"我的意思是可能存在错误,功能实现不同,甚至缺少功能.例如,Android有一个非常小的 C++标准库实现.
那里有许多奇怪而精彩的C++编译器; 它不仅仅是GCC和Visual Studio.例如,任天堂使用Green Hills编译器.
因此,由于编程器种类繁多,支持大量编译器的最佳方法是仅坚持使用C标准库提供的功能.许多可移植库甚至避免使用更现代的C++特性.
Wal*_*sen -3
简单的答案是,当您选择不包含 STL 包时。
对于大多数 IDE,如果您的项目没有#include <package_name>调用 STL 的项,则编译时不会包含 STL。
尽管在某些情况下您可能必须通过 IDE/编译器专门排除 STL
避免使用 STL 的一大原因是减少最终编译文件的大小。