libc++ vs libstdc++

libc++ vs libstdc++

libc++는 Clang 프로젝트에서 나온 C++ native 라이브러리이며, libstdc++는 GCC 프로젝트에서 나온 C++ native 라이브러리이다.

각각 다른 프로젝트에서 나왔기 때문에 C++의 구현 방식이 다르다.

아무래도 GCC는 GNU/Linux를 메인 타겟으로 삼고, Clang은 MacOS를 메인 타겟으로 삼기 때문에, 각각의 라이브러리들은 메인 타겟이 아닌 환경에서는 호환성이 부족한 부분도 있다. C++14까지는 왠만한 기능들은 서로 다 지원이 되지만, C++20과 같이 막 릴리즈된 기능들은 호환성이 부족할 확률이 높다.

libstdc++의 C++17 구현 상황libc++의 C++17 구현 상황을 보면 은근히 C++17도 구현이 다 안되어있다.