C++: Freestanding Standard Library
3 days ago
- #Embedded Systems
- #Freestanding Implementation
- #C++
- 本文介绍了C++中的独立实现,这类实现无需操作系统支持,如在嵌入式系统或内核中运行。
- 它区分了宿主实现(提供完整的操作系统支持)和独立实现(功能有限),并使用__STDC_HOSTED__宏进行识别。
- 主要差异包括线程支持、main()函数的要求以及标准头文件的可用性,这些在独立环境中都是实现定义的。
- 独立实现保证了一个最小的库子集,包含头文件如<cstdint>和<type_traits>,但排除了依赖于操作系统的功能,如<thread>或<iostream>。
- 现代C++(从C++20到C++26)扩展了对独立实现的支持,增加了诸如std::span和算法等功能,以在受限环境中提供更好的抽象。
- 这一演变由嵌入式系统和游戏开发等领域驱动,旨在使C++在没有完整操作系统支持的情况下也能使用。