boost 사용법! boost

멀티플랫폼을 지원하는 c++ 코딩을 위해 boost 를 사용하기로 했다. cygwin, qt 등은 아니라고 판단. 그렇다면 멀티플랫폼을 지원하고 쌈박한 아이를 찾다가 boost 를 써야 한다는 결론을 내렸다. effective c++ 을 마무리 하기 전까지는 들어보기만 했던 boost
이제 개발경력 5년을 채워간다. 근데 이제야 effective c++ 을 보고 boost 에 입문하다니..늦어도 너무 늦었다는 생각이 들기도 하지만..주위를 둘러보면 빠르다는 생각도 든다. 만우형 졸라 땡큐!, 경칩형도 땡큐!
그러니까 모름지기 c++ 프로그래머라면 effective c++(more effective c++), effective STL 을 읽어보지 않았다면...아닌거야..

일단 boost.org 에 들어가서 라이브러리를 다운 받는다. 매뉴얼을 따라 가려면 아래 사이트로 가자.


일단 http://www.boost.org/ 에 접속하면 Vㅔ리 어썸한 사이트가 똭!


이미지가 무척크다. 왜냐면 내가 라섹수술을 해서 시력이 왔다갔다 한다. 지금은 눈뜬 장님상태. 하지만 지식에 대한 불타는 욕망으로 헤쳐나가는 중. 

저 빨간버튼을 누르면 부스트를 얻을 수 있다. 일단 받고 압축푼다.

압축을 풀고 해당 디렉토리를 뭐 편한데다 갖다 놓고 링크를 건다. additional directory 에 추가하면 되는데 다들 알테지..하지만 모르는 사람을 위해...사실 내가 잊어버릴까봐 ... 상대경로로 하는게 좋지만 귀찮으신 분은 풀패스 고고싱


일단 제대로 되는지 뭔가 테스트를 해봐야 겠다...는 개뿔! 저리하면 컴파일이 안된다. 디렉토리 패스는 ..\boost_1_53_0\ 로 해줘야 된다. 왜냐하면 hpp 파일들이 기본 경로로 boost\ 를 요구하기 때문이다. ㅎㅎㅎ 

어쨋든 다시 세팅하고 테스트. 컴파일 완료.

이제 잘 사용하면 된다.

테스트로 아래 코드를 쳐보자. _1 는 placeholder 이다. 첫번째 매개변수를 의미한다.

#include "stdafx.h"
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int _tmain(int argc, _TCHAR* argv[])
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;

std::for_each(in(std::cin), in(), std::cout << (_1 * 3) << " "  );
return 0;
}

첫번째 매개변수를 들어오는 값에 3을 곱해서 출력해준다. 끝

덧글

댓글 입력 영역