Boost C++ 라이브러리

Boost 라이브러리에 관한 간단한 소개입니다.

공식 사이트: http://www.boost.org/
Boost 라이브러리에 관한 PDF 문서 파일: http://sourceforge.net/projects/boost/files/boost-docs/1.46.0/

Boost는 STL이후, 표준화를 목표로 개발된 C++라이브러리입니다.

장점은
1. 많은 사용자에 의한 동작 검증
2. 표준화를 목표로 하기 때문에, C++표준에 맞는 환경이라면 변경없이 사용가능
3. 무료

단점은
1. 컴파일 시간의 증가
2. 템플릿의 난무로 디버깅이 복잡해짐

라고 생각됩니다.


사용법은 공식사이트에 설치형식으로 바이너리가 제공되므로 설치하고 나서
대상 폴더의 경로를 Visual Studio의 include와 library에 지정해주기만 하면 됩니다.


Boost C++ 라이브러리라는 책(일본어판)을 구입했는데, 원하는 부분을 찾아보기 편한 레퍼런스 형식으로 되어 있습니다.
그밖에는 관련서적이 별로 많지 않고, 내용이 계속 변하고 있으므로
공식사이트의 문서를 참고하는게 좋을 것 같습니다.

수많은 분야의 라이브러리가 존재하지만 현재 사용하려고 계획중인 라이브러리들은
다음과 같으며 일단 예제로 테스트해보며 적용하고 있습니다.

String
[[boost::tokenizer]]

Smart Pointer
[[boost::shared_ptr]]
[[boost::weak_ptr]]

Container
[[boost::array]]

Thread
[[boost::thread]]

Mutex
[[boost::mutex]]

wstring에도 잘 적용되며, tokenizer를 사용하는 예제는 다음과 같습니다.

#include <boost\tokenizer.hpp>

using namespace boost;

void tokenizerTest()
{
 wstring test = L" this is a test string";

 char_separator<wchar_t> sep(L" \t\n");
 tokenizer<char_separator<wchar_t>, wstring::const_iterator, wstring> tokens(test, sep);
 tokenizer<char_separator<wchar_t>, wstring::const_iterator, wstring>::const_iterator it  = tokens.begin();

 MessageBox(NULL, (*it).c_str(), test.c_str(), MB_OK);
}

1 개의 댓글:

대성 :

감사합니다 ^^

댓글 쓰기