Boost 5

Boost::program_options 사용기

오늘은 아침부터 일이 잘 되지 않는다 머리가 잘 안 돌아가서 막막한 느낌 ㅠ.,ㅜ 그래서~~ 기분 전환 용으로 글 하나 쌈박하게 올리고 다시 열일 해보겠다 이전에 작성한 boost 관련 글에도 썼다시피 나는 boost에 많은 고마움을 느낀다 +_+ 엥 이게 있다고? 하는 라이브러리가 많기 때문 이번에 시뮬레이터를 작성할 게 있어서 C로 하려다가 C++로 하려는데 세상에.. Boost에는 program options라는 기능을 제공해서 argument 기능을 참 쉽게 만들 수 있게 해 놓았다 1. 긴 서론 우리가 어떤 프로그램을 실행할 때, 옵션을 추가하여 실행을 해본 경험이 있을 것이다 argument를 프로세스 실행 파일 뒤에 추가해서 사용하곤 하는데 $ gcc --help Usage: gcc [opt..

📖 C랑 C++ 2022.07.26

Error 해결: boost::shared_ptr<boost::asio::io_context>::operator*

boost thread를 활용하여 io_context_pool을 만들어서 사용하던 중.. core가 났다 이젠 놀랍지도 않은.. 참고한 ThreadPool 예시는 아래에 첨부 링크로 올려두겠다 CMD> ./process ... /usr/include/boost/smart_ptr/shared_ptr.hpp:728: typename boost::detail::sp_derr::operator*() const [with T = boost::asio::io_context; typename boost::deta_context&]: Assertion `px != 0' failed. Aborted (core dumped) 그러다 비슷한 에러를 가진 stack overflow 글을 보았는데 내용은 이러했다 일단 원인은,..

📖 C랑 C++ 2022.02.04

Boost-echo tcp client & server를 살펴보자 (1)

Boost는 C++을 하다보면 언젠간 반드시 꼭 사용하게될 라이브러리이다 Boost에 대한 설명은 아래에 첨부할 Boost 공식홈페이지에서 한번 읽어보는걸 추천한다 (재밌음) 처음에 boost를 사용할 때는, STL(Standard Template Library)이랑 역할이 같은 것 같은데, 왜 쓰지? 했는데 STL을 활용해서 뭔가 좀더 해야할 때, boost에는 이미 있는 기능이 많이 있었다 예제 활용해서 쓰다보면 금방 익숙해질 수 있당 서론이 길었는데, Boost 활용을 좀 더 잘해보기 위해서, 라이브러리 샘플 코드를 한번씩 공부해보려고 한다 실제 활용할 때 놓친 부분 확인도 할겸ㅋ Boost Asio에 대한 설명은 링크를 참고하길 바란다 첫 번째로 확인한 예제는 Async TCP Server와 Cl..

📖 C랑 C++ 2021.06.11

Boost Asio에 대해서 알아보자

Boost 비동기 통신 서버&클라이언트를 정리중... 필수 개념인 Asio에 대해서 먼저 정리해야겠다 생각들어서 따로 게시글로 뺐다 ㅈㄱㄴ boost 홈페이지에 설명이 잘 되어있어서, 요걸 정리하려고 한다 (첨부 링크 참조) 1. Boost.Asio ( Asynchronous I/O ) 가 뭐지? Boost 공식홈피: Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. cf) 어떤 운영체제여도, 실행 가능하게 동작하게 할 수 있는 플랫폼이 크로스..

📖 C랑 C++ 2021.05.20

C++ 대문자/소문자 변환

너무 바빠서 긴 포스팅 글의 마무리를 못하고 있다.. 일단 가벼운거라도 올려야 들 억울할 것 같다 1. std::transform 사용 2. std::toupper & std::tolower 사용 3. boost::to_upper 와 to_lower 사용 1. std::transform 구글에 "C++ 대소문자 변환" 이라고 검색하면 아마 가장 먼저 보이는 라이브러리이지 않을까 싶다 사용 방법을 보기전에 cppreference에 있는 함수 형태를 먼저 보겠다 * 헤더 #include 헤더는 요렇고,, * 함수 원형(?) template OutputIt transform( InputIt first1, Inpu..

📖 C랑 C++ 2021.02.26