본문 바로가기

C/C++

(74)
clang-format 사용 가이드 Visual Studio에서 Clang-Format 사용 가이드C++ 코딩 스타일을 팀 전체에 통일하고 싶다면, clang-format은 가장 강력한 도구입니다.이 글에서는 Visual Studio에서 clang-format을 설정하고 사용하는 방법을 단계별로 소개합니다.1. Clang-Format 확장 설치Visual Studio에서는 ClangFormat 확장을 통해 손쉽게 사용할 수 있습니다.Visual studio 설치 옵션에서 아래를 체크하니 Clang-Format도 설치가 됩니다.✅ 따로 설치 방법Visual Studio 실행Extensions > Manage Extensions 클릭clangformat 검색ClangFormat 확장 설치 (설치 후 재시작 필요)⚙️ 2. Visual Stud..
Clang-tiny 설치 및 사용 가이드 Clang-Tidy 설치 및 사용 가이드정적 분석으로 코드 품질을 한 단계 업그레이드하기🔧 Clang-Tidy란?Clang-Tidy는 LLVM/Clang 기반의 정적 분석 도구로, C++ 코드를 컴파일하지 않고도 다양한 코드 품질 문제를 찾아줍니다.Google C++ Style Guide, CERT, Boost 등 다양한 체크 그룹을 지원하며, 자동 수정(--fix) 기능까지 제공합니다.📦 설치 방법1. Visual Studio (Windows)Visual Studio 2019 이상부터는 Clang-Tidy가 기본 포함되어 있습니다.설치 방법:Visual Studio Installer 실행개발자용 C++ 데스크톱 워크로드 선택아래의 선택적 구성 요소에서 Clang compiler for Windows..
vcpkg vcpkg로 C++ 라이브러리 쉽게 관리하기C++로 프로젝트를 진행하다 보면, 다양한 외부 라이브러리를 사용할 때가 많습니다. 하지만 C++의 복잡한 의존성 관리 때문에 라이브러리를 설치하고 관리하는 것이 까다로울 수 있습니다. 이를 쉽게 해결하기 위해 vcpkg라는 툴이 많은 사랑을 받고 있는데요, 이번 포스트에서는 vcpkg를 설치하고 사용하는 방법을 알아보겠습니다.1. vcpkg란 무엇인가?vcpkg는 마이크로소프트가 제공하는 C++ 패키지 관리자입니다. 다양한 오픈 소스 C++ 라이브러리를 쉽게 설치하고 관리할 수 있도록 도와줍니다. Linux, Windows, MacOS에서 모두 사용할 수 있으며, Visual Studio와도 쉽게 통합할 수 있어 개발 속도를 크게 높여줍니다.2. vcpkg 설..
Visual Studio로 리눅스 개발하기 Visual Studio 2017/2015로 리눅스 개발하기 Visual C++ 2015/2017에서는 리눅스에서 개발할 수 있는 환경을 제공한다. 그리고 아래 링크에 툴셋 설치, 세팅, 디버깅 방법 등 모두 나와 있으니 따라하자.https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/ 개념은,ssh로 해당 리눅스에 접속하여, 프로젝트의 모든 파일을 리눅스에 복사하여 컴파일한다.(파일이 많을 경우는 어떻게 하지?)그래서 파일 경로와 같은 모든 환경을 리눅스에 맞춰 세팅해야 한다.
SSO (short string optimization) c++에 SSO (Short String Optimization) 라는 개념이 있다.Effective Modern C++ 책을 보다가 검색한 걸 정리해 본다.[1]의 내용을 정리한 것이다. new/malloc를 사용하지 않고 배열로 만든 문자열은 스택에 저장이 되는데,이는 new/malloc를 사용하여 힙에 메모리를 할당한 것보다 속도면에서 빠르다. 그러나 배열은 고정된 사이즈를 사용해야 하는 반면, new/malloc를 사용하면 동적으로 사이즈를 정할 수 있다.또한 스택의 크기는 제한적인 반면, 힙 영역은 시스템 메모리 만큼 사용할 수 있다. std::string는 보통 힙영역에 문자열을 저장한다. (new char [size]를 한 것처럼)이렇게 해야 아주 큰 문자열도 스택 오버플로우 없이 저장할수 ..
[c++14] 함수 실행 시간 측정 함수 실행 시간 측정을 하려면,실행 전 시간을 체크하고, 실행 후 시간을 체크해서 차이를 계산해주어야 한다.그러나, 아래 템플릿을 이용해서 쉽게 할수 있다. templatestatic auto duration(F&& func, Args&&... args){ using namespace std::chrono; auto start = steady_clock::now(); auto ret = std::forward(func)(std::forward(args)...); auto dur = duration_cast(steady_clock::now() - start); TRACE(_T("dur : %d\n"), dur.count()); return ret; } 사용은 대충 이렇게..#include int func(..
Remote Debugging Visual C++ 2015 [1]의 포스트에서 허락없이 퍼옴 This describes how to configure your system to do remote debugging when you are using Visual Studio 2015. There is no installer for the debug DLLs, so you need to work around this problem. Among other things, these instructions solve this error message: The program can't start because ucrtbased.dll is missing from your computer. These instructions take extra steps to handle th..
[windows] curl 빌드 및 사용 windows에서 curl 빌드 및 사용하기 curl은 데이터 전송하는 툴 및 라이브러리로서, [1]의 공식 홈페이지를 참고한다. http, ftp, telnet, ldap, pop3, smtp등 많은 프로토콜을 지원하며, 이 프로토콜을 이용한 업로드/다운로드, 프록시, 인증, 쿠키 등의 기능도 지원한다. [2]와 [3]에서 참고한 내용을 바탕으로 다시 정리해 본다. 빌드의 내용은 [2]를 참고 했으며, [3]에는 설치 및 사용법 등이 자세히 나와 있다. 1. 다운로드 - 직접 다운로드 > https://curl.haxx.se/download.html - Github > https://github.com/curl/curl 2. curl 빌드 ([2]에 이미지를 포함한 상세한 설명이 있으니 참고) - gi..