본문 바로가기

프로그래밍/c++ / boost::asio13

Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. 1>Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example: 1>- add -D_WIN32_WINNT=0x0601 to the compiler command line; or 1>- add _WIN32_WINNT=0x0601 to your project's Preprocessor Definitions. 1>Assuming _WIN32_WINNT=0x0601 (i.e. Windows 7 target). 위는 boost asio를 포함하여 빌드하면 발생하는 "_WIN32_WINNT 또는 _WIN32_WINDOWS를 정의해주세요" 메세지 다음 링크에서 윈도우에 해당하는 전처리 매크로에 정의하면 해당 메세지는 발생하지 않는다. https:/.. 2020. 5. 27.
boost/asio deprecated 1.69.0 boost::asio가 c++ 표준에 들어가게 되서 그런지 변경 사항들이 많다.호환성을 위해 더이상 더이상 사용되지 않는 코드들이 여전히 남아있지만,전처리기에 BOOST_ASIO_NO_DEPRECATED를 지정하면 더이상 사용되지 않는 코드들이 비활성화 된다. io_service가 io_context로 이름 변경io_context::dispatch가 dispatch 로 대체 됨io_context::post가 post 로 대체 됨io_context::strand::wrap이 bind_execuator 로 대체 됨io_context::get_io_context(), io_context::get_io_service()가 context() 함수로 이름 변경.io_context::strand::get_io_con.. 2019. 3. 11.
boost::asio dynamic buffer asio에 dynamic_buffer라는 것이 추가되었다.asio::streambuf와 비슷하지만, 기존의 stl 컨테이너(std::vector, std::string 등)을 래퍼런스로 받아 조작하는 어뎁터 클래스이다.사용 방식은 다음과 같다. #include #include int main(){ using DynamicBuffer = boost::asio::dynamic_vector_buffer; std::vector buffer; DynamicBuffer dynamicBuffer = boost::asio::dynamic_buffer(buffer); return 0;} api도 기존의 asio::streambuf와 흡사하며 메모리를 공간을 확보, 반환해주는 prepare 함수의 경우 다음과 같이 구현되.. 2018. 5. 1.
boost 의존성 없이 사용하기. asio standalone asio를 boost 의존성 없이 단독으로 사용할 수 있다. 0. https://think-async.com/Asio/Download에서 asio를 다운 받는다.1. asio 소스를 프로젝트 내에 포함한다.2. 전처리기를 정의한다. #define ASIO_STANDALONE 그러면 boost가 아예 없어도 asio를 사용할 수 있다. ASIO_STANDALONE이 정의가 없으면 boost 의존성이 있으므로 주의!! boost::system::error_code -> asio::error_code 등으로 바뀌는 것들도 있다. 2018. 4. 7.