E D R S I H C RSS
ID
Password
Join
예절이 바르다는 것은 자기의 마음 속에 있는 말 중에서 어떤 것을 선택해서 해야 할지 아는 기술. ―M.D.S.

[[Include(분류/Cpp)]]

Contents

1 개요
2 VC 설치
3 mingw에서의 설치법
4 cygwin에서의 설치법
4.1 regex, python등과 같은 링크가 필요한 라이브러리 컴파일하기
4.2 그냥 사용하기
5 링크
6 문서 번역

1 개요 #

  • 메인 홈페이지 : [http]http://www.boost.org
  • C++ 표준에 채택되지 않은 기능을 공개적으로 구현하는데서 출발한 라이브러리 모음. 꽤 방대합니다. 짬짬히 분석할 생각...
  • 초심자는 /introduction을 읽어보세요.
  • STL을 모르시는 분은 먼저 공부하시고 쓰시는게 좋습니다.
  • 현재 릴리스 : 1.37

2 VC 설치 #

3 mingw에서의 설치법 #

  1. 적당한 곳에 boost 배포본 압축을 푼다음, msys를 통하여 해당 디렉토리로 이동합니다.
  2. 아래와 같이 환경변수를 설정합니다.
    export MINGW_ROOT_DIRECTORY="/mingw"
    
  3. bjam을 실행하여 설치합니다. (없으면 boost 홈페이지에서 미리 컴파일된 버전을 다운받아 /usr/bin같은데 설치합니다)
    bjam "-sTOOLS=mingw" install
    
  4. 모두 빌드되면 C:/boost 디렉토리에 include와 lib라는 디렉토리가 생겨있을 겁니다. 이를 적당한 폴더에 복사합니다. (저는 /usr/local 에 해당하는 C:/msys/1.0/local 에 복사하여 사용합니다.)

4 cygwin에서의 설치법 #

4.1 regex, python등과 같은 링크가 필요한 라이브러리 컴파일하기 #

  1. 가급적 식사시간 직전에 한다. (절라 오래걸림. :( )
  2. 우선 소스를 적당한데 풀고 tools/build/jam_src 디렉토리로 이동합니다.
  3. ./build.sh 라고 실행합니다. 빌드가 끝나면 bin.cygwinx86이라는 디렉토리가 생겨있습니다. 여기에 있는 실행화일들을 모두 /usr/bin에 복사합니다.
  4. 다시 소스루트디렉토리로 돌아옵니다.
  5. bjam "-sTOOLS=gcc gcc-nocygwin" 이라고 실행합니다.
  6. 밥먹으러 갑니다. :)
  7. 다됐으면 boost 디렉토리를 /usr/local/include에 복사합니다. (/usr/include에 복사하면 컴파일 오류가 발생합니다. 아마도 디렉토리 우선순위 순서때문인듯...)

4.2 그냥 사용하기 #

  • boost 디렉토리를 include 경로에 복사하면 됩니다.

5 링크 #

6 문서 번역 #

  • /MultiArray - 다차원 배열 컨테이너.
  • /regex - 정규표현식 라이브러리.
  • /graph - 유명한 boost 그래프 라이브러리입니다. 하나하나 번역하면서 공부해볼 생각입니다.
  • /MPL - metaprogramming에 관한 라이브러리. 컴파일시점에서 무언가 분기시점을 결정할 수 있는 재미있는 기법.
  • /random - messane twister 알고리즘을 비롯한 각종 의사난수 알고리즘들을 모아놓았습니다.
  • /pool - 메모리 풀링관련 라이브러리입니다. 자질구레한 메모리할당/해제가 자주일어나는 경우 유용합니다. ACE_local_memory_pool 클래스도 비슷한 역할을 하지만 boost::pool이 더 직관적이고 강력합니다.
  • /any - 다용도 타입변환 1-value 컨테이너입니다. 가끔은 이런 기능이 필요할 때가 있지요. 스크립트 엔진과 같이 활용할 경우 유용합니다.
  • /format - 특정 문자열을 출력하고자 할 때(하지만 표준출력이 아닐경우) 주로 사용하는 sprintf() C 문자열 조합 함수를 아주 확실히 대체할 수 있는 클래스.
  • /dynamic_bitset - std::bitset 클래스를 실시간에서 가변 길이 컨테이너로 변환한 것입니다. 비트 연산이 필요할 경우 유용.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-10-28 12:42:52
Processing time 0.3412 sec