Visual Studio 2015 추천 플러그인

Visual Studio 2015 추천 플러그인 ⚠️ Warning 이 글은 극히 주관적인 내용이며 본인은 C/C++과 MFC를 사용합니다. Eclipse 또는 VS Code 와 같은 에디터는 플러그인 개념이 있어 유용한 도구를 설치하여 사용할 수 있습니다. 마찬가지로 Visual studio 또한 확장 기능이 있어 필요에 따라 설치하여 사용하면 되는데 몇 가지 유용한 확장을 소개해 드리겠습니다. 😎 Plug-in ForceUTF8 (with BOM) Visual studio는 기본적으로 문서를 EUC-KR 인코딩으로 저장합니다. Git 또는 다른 플랫폼의 호환을 위해 UTF-8 인코딩으로 저장할 필요가 있는데, 안타깝게도 문서를 저장할 때마다 고급 저장 옵션을 눌러 인코딩을 직접 선택하여 저장해야 한다는 불편한 점이 있습니다....

July 16, 2023 · 2 min · 343 words · JongBin Park

C++ Socket 프로로그래밍 [POSIX]

C++ Socket 프로로그래밍 [POSIX] 💡 Quotation 네트워크 소켓(network socket)은 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다. 오늘날 컴퓨터 간 통신의 대부분은 인터넷 프로토콜을 기반으로 하고 있으므로, 대부분의 네트워크 소켓은 인터넷 소켓이다. 네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. 소켓은 RFC 147에 기술사항이 정의되어 있다. wikipedia 소켓은 운영체제에 종속되어 있어 플랫폼마다 사용하는 방법이 아주 조금 다릅니다. 이 글에서는 유닉스 또는 리눅스에 사용되는 POSIX1) Socket 을 간단하게 소개하고 프로그래밍 방법을 소개합니다....

June 18, 2023 · 3 min · 518 words · JongBin Park

C++ 가변 길이 구조체

C++ 가변 길이 구조체 💡 Quotation Flexible array members were officially standardized in C99. In practice, compilers (e.g., GCC, Microsoft’s) provided them well before C99 was standardized. Flexible array members are not officially part of C++, but language extensions are widely available. 소켓 프로그래밍 중 가변 길이의 데이터를 보낼 방법을 찾다가 발견하게 되었습니다. 위 글처럼 C99에 공식적으로 표준화가 되었으며 C++ 에서는 공식적이지는 않지만 사용할 수 있습니다. 메모리에 연속된 공간으로 할당하며 통신할 때 유용하게 사용될 수 있습니다....

June 10, 2023 · 2 min · 337 words · JongBin Park

fmt 라이브러리로 C++ 콘솔 로거 작성하기

fmt 라이브러리로 C++ 콘솔 로거 작성하기 프로그램의 로그를 쓰기 위해 보통 Log4j, spdlog… 등 로거 프레임워크를 사용합니다. 사용하기 간편하며 강력한 기능을 제공합니다. 하지만 저는 fmt를 이용하여 간단히 사용할 수 있는 콘솔 로거를 작성해보려고 합니다. 😎 쉽고 간단한 길 놔두고 이상한 길 가기 ⚠️ Warning 상용 프로그램에서 아래와 같이 로그를 사용한다면 스레드로 인한 작동 오류가 있을 수 있습니다. fmt를 사용해보기 위해 간단히 작성된 것이므로 로거 프레임워크를 사용하기를 권장합니다. fmt 💡 {fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams....

May 27, 2023 · 3 min · 583 words · JongBin Park