2019. 8. 12. 23:02ㆍPL/C++
[출처] https://ndb796.tistory.com/113
C++ Boost.Asio는 C++로 구성된 네트워크 프로그래밍 라이브러리다. '서버 클라이언트 구조'를 가지는 다양한 플랫폼에 적용할 수 있는 범용 라이브러리다. Boost.Asio를 사용하면 비동기 IO 프로그래밍을 쉽게 구현할 수 있고, 소스코드는 간결하면서 성능은 우수하다는 장점이 있다
1. https://www.boost.org/users/download/에 접속해서 운영체제에 맞춰서 설치
2. zip 파일을 받은 후 압축을 푸는 경로는 C:\로 정한다
3. C:\boost_1_70_0\boost_1_70_0 안의 bootstrap.bat 파일을 실행시킨다
4. b2.exe 실행파일이 생성되는데 cmd 명령 프롬포트를 이용해서 옵션을 줘서, 이에 맞게 라이브러리 파일을 생성할 것이다
C:\boost_1_70_0>b2 -j4 toolset=msvc-14.0 address-model=64 variant=debug,release link=static threading=multi stage
C:\boost_1_70_0>b2 -j4 toolset=msvc-14.0 address-model=32 variant=debug,release link=static threading=multi stage
다음과 같이 vs2015를 사용하기 때문에, msvc-14.0으로 설정해서 라이브러리 파일을 생성할 것이다. vs2017을 사용한다면 msvc-14.1로 설정하면 된다
5. 정상적으로 라이브러리 생성이 완료되었다면 C:\boost_1_70_0\stage\lib 경로에 라이브러리 파일이 보여질 것이다
6. vs 프로젝트를 생성한 속성에 boost.asio 라이브러리를 링크한다
7. 프로젝트 속성이 올바르게 설정이 되었는지 가장 기본적인 boost::io_service 객체를 만들어서 5초 동안 대기 후 콘솔에 출력하는 예제를 실행시킨다
#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
using namespace std;
int main(void) {
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
t.wait();
cout << "hello world\n";
return 0;
}
'PL > C++' 카테고리의 다른 글
strncpy 길이 인자로 strlen을 넣어줄 때 (0) | 2019.08.13 |
---|---|
정적 바인딩과 동적 바인딩 (0) | 2019.08.12 |
static 정적 멤버와 상수 멤버 (0) | 2019.08.12 |
2차원 배열에서 &a[5]와 a[5]의 차이 (0) | 2019.08.12 |
friend 클래스 (0) | 2019.08.12 |