본문 바로가기

Robotics/Software Tech.

표준 라이브러리


STL(Standart Template Library)도 종류가 여러가지가 있다. 그리고, 용도에 따른 다양한 표준화된 라이브러리가 존재한다. 개발할 소프트웨어에 표준화된 코드를 삽입하는 것은 소프트웨어가 타 라이브러리에 의존성이 커진다고 보기보단, 생산성 또는 확장성에 좀더 유리해졌다고 보면 될것같다. 퍼포먼스도 안나오는 라이브러리 만들어서 사용하기보단 인터페이스와 최대한 언어의 표준에 맞게 작성된 라이브러리를 구해다가 사용하는게 더 좋다..

STL의 종류

(1) Dinkum STL(http://www.dinkumware.com)
VIsual C++에 탑재된 표준 템플릿이라고 한다.

(2) SGI STL(http://www.sgi.com/tech/stl)
(3) STLport (http://www.stlport.org)
안정성이 높단다.
(4) RogueWave STL(http://www.roguewave.com )
(5) ObjectSpace (http://recursionw.com )
(6) Safe STL (http://www.horstmann.com )
(7) Blitz++ (http://www.oonumerics.org/blitz )
수치계산, 계산을 위한 템플릿 라이브러리
(8) FC++ (http://www.cc.gatech.edu/~yannis/fc++ )
(9) Boost (http://boost.org )
(10) Loki (http://sourceforge.net/project/loki-lib )
(11) MTL (http://www.osl.iu.edu/research/mtl )
The Matrix Template Library (MTL) is a high-performance generic component library that provides comprehensive linear algebra functionality for a wide variety of matrix formats.
<MTL 4버젼>
The Matrix Template Library is: Generic, Orthogonal, and Comprehensive:
MTL includes a large number of data formats and algorithms, including most popular sparse and dense matrix formats and functionality equivalent to Level 3
BLAS.
Flexible and Extensible: The MTL4 interface is designed to allow new functionality to be easily incorporated.
High Performance: The first benchmarks with MTL4 on current compilers showed very good performance. A page with performance plots is under construction.
Reliable: MTL 4 is tested on a regular basis.
Portable: MTL 4 is written in ANSI C++ and can be compiled and used on any target platform with an ANSI C++ compiler. Currently, compilers known to work on the following platforms are

  • Linux
    • g++ 4.0.1
    • g++ 4.1.1
    • g++ 4.1.2
    • g++ 4.2.0
    • g++ 4.2.1
    • g++ 4.2.2
    • icc 9.0
  • Macintosh
    • g++ 4.0.1
  • Windows
    • VC 8.0 from Visual Studio 2005

(12) NTL (http://www.shoup.net/ntl )
(13) STL soft (http://synesis.com.au/stlsoft )