이번에 STL을 심도있게 공부를 해 볼려고 구글에서 STL를 쳤는데...
나는 STL은 컴파일러가 지원하주는 건줄 알았는데 별도로 존재를 한다.(몰랐네;;)
--- STL 종류별
SGI STL: SGI사가 만든 STL로 2000년 6월 8일에 v3.3이 마지막으로 릴리즈 되었다.
(https://www.sgi.com/tech/stl)
STLport: SGI STL을 여러 플랫폼에 맞게 사용할 수 있게 포팅해 놓은 STL이다. 입출력같은 경우는 시스템에 종속적이다. 그래서 STLPort가 나왔다.
오픈소스이고 상업적으로 사용해도 제한이 없다.
(http://www.stlport.org)
오픈소스이고 상업적으로 사용해도 제한이 없다.
(http://www.stlport.org)
Dinkumware STL: 상용 STL로 최신 STL을 가장 잘 적용(성능과 별개)한다 부터 size()가 느리다, std::string는 사용하면 안된다등등 많은 논쟁이 있다.
GNU libstdc++: GNU에서 만든 STL(한글자료가 거의 없어서...;)
--- 컴파일별
MS 컴파일: Dinkumware STL을 사용중이고 VS6.0은 C++ 표준이 나오기 전에 나와서 VS 6.0에서는 내장 STL(Dinkumware)을 사용하면 안되고 STLport를 사용해야 하고 이때 많은 사람들의 신뢰를 잃었다.
그래서 일까 그 이후 많이 안정화가 되어서 이제는 굳이 외부 STL을 쓸 필요가 없다고 얘기하는 사람과 안좋다고 얘기하는 등등 의견이 나뉜다.
GCC: 초기에 SGI STL을 사용하다가 이제는 GNU libstdc++를 사용한다.
볼랜드 C++: 6부터 로그웨이브의 라이브러리를 버리고 STLport사용
--- 주의할 점
내가 성능쪽 개선이나 그쪽 전문가가 아니라 어떤 STL을 써야 한다고 딱 얘기는 못하겠지만 STL를 쓸때 한가지 STL만 사용해야 한다.
댓글 없음:
댓글 쓰기