본문 바로가기

boost

(4)
ubuntu 13.10 + eclipse(kepler) + boost 1.55.0 설치 및 사용 1. Ubuntu 13.10에 boost c++ library 1.55.0 설치 방법 [참고] http://cccob.blogspot.kr/2013/09/boost-1304-boost-153.html 1.53.0 버젼과 설치방법이 다르지는 않으니.. 위 블로그 내용을 참조. 2. Eclipse Kepler에 boost 설정 (1) 일단 본인은 1.54.0버젼 부터 추가된 boost.log 를 사용하려고 한다. 이클립스에서 c++ 프로젝트를 생성하고 cpp 파일에 다음 샘플 코드를 추가했다. #include #include #include #include namespace logging = boost::log;using namespace std;void SetFilter() { logging::core::..
eclipse에서 boost 사용하는데 에러가 난다.. 음.. 문제를 못 찾겠다.. 타이머를 사용하려고 boost의 chrono를 사용하려고 #include 했는데.. 에러가 난다.. boost는 설치했다. 아래처럼 에러 나는이유.. ./src/xxx_main.o: In function `__static_initialization_and_destruction_0':/usr/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'/usr/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'/usr/include/boo..
TCP/IP 동기통신(boost, winsock 버젼) 동기(sync)통신이라하면, Server와 Client간에 데이터의 송수신이 악수와 같이, 테니스 코트에서 공을 주고 받는 것과 같이 서버는 클라이언트가 요청하면 보내고, 클라이언트는 서버가 보내줄때까지 커넥션 상태를 holding하고, 다른 데이터로부터의 수신을 blocking한다. 통신 상태에 따라 bottleneck으로 작용하거나 비효율적인 부분이 있지만, 동기를 맞춰야 하는 네트워크 시스템에서는 반드시 필요할 것이다. boost의 ASIO로 코드를 만들어뒀다가, 문제가 생겨서 winsock으로 다시 만들었다. 보통 window상에서 visual studio 2012를 사용하는데, 사용하는 boost 1.51버젼이 아직 visual studio 2012에 잘 붙지 않는다. visual studio ..
[boost] string tokenizer 파일이나 문자열에서 필요한 데이터를 추출해야 하는 일이 프로그램을 짜다보면 빈번히 일어난다. 예를들면, hello, world! 라는 문자열에서 hello와 world를 구분하여 얻어내기 위해서 ','를 기준으로 문자열을 잘라내야 한다. 이런작업을 자주 하기때문에 이런 일을 하는 클래스로 만들어놓으면 편하다. 근데, 이런것을 boost 라이브러리에서 지원해준단다. boost 라이브러리를 설치를 해야한다. 그리고 아래처럼 쓰면 된다. #include void function { string _str = "hello,world"; boost::char_seperator sep(","); boost::tokenizer token(_str,sep); for(tokenizer::iterator itr = toke..