ZOYKU火線榜

jpakkane/pystd技術文件

jpakkane/pystd open-source repository on GitHub

目錄大綱 (TOC) (2 章節)▾
多語言回退提示:當前倉庫原作者暫未發布在地化文件,已為您無縫切換至官方英文原版(English),排版及程式碼實例完整保真。
極速安裝
git clone https://github.com/jpakkane/pystd.git

A self-written C++ standard library

Design goals:

  • NOT an implementation of the ISO C++ standard library, but instead an experiment to see what a stdlib without backwards compatibility requirements might look like
  • design-wise copy the Python standard library's APIs whenever possible
  • minimize build times
  • a single header for the most common things
  • KISS
  • needs to be performant, but not "super optimized" to the hilt
  • Can use existing C libraries like pcre but not C++ libraries

API and ABI stability

Do both of these:

  • Maintain perfect API and ABI compatibility
  • Make it possible to change both in arbitrary ways

This seems impossible but is in fact fairly easily achievable:

  • Put everything under pystd<year> namespace

  • When release happens, copy all files from foo<year>.[ch]pp to foo<year+1>.[ch]pp and rename the namespace accordingly

  • The old version remains forever frozen in time

  • Arbitrary changes can be done to the new version

Anyone who needs to interoperate with code using the old versions can #include the old header and use things from its namespace as needed.

Limitations

Tested with GCC and Clang on Linux and macOS. Does not work with MSVC as it has not yet added support for pack indexing.

文件鏡像歸檔自 GitHub 官方源路徑 · 造訪原專案 GitHub
最後同步快照:2026-11-08