블로그
-
C++ 입문 개요 | 역사, 현대 C++의 변화, 실무에서 쓰이는 분야
C++의 역사(C with Classes부터 C++26까지)와 표준화 흐름, 게임·금융·임베디드·시스템 소프트웨어에서 왜 여전히 C++가 선택되는지, 그리고 학습 로드맵과 커리어 경로까지 다룹니다.
-
C++ 개발 환경 구축 2026 | GCC 15·Clang 22·MSVC 14.51·C++23·C++26
Windows에서는 Visual Studio, MinGW, WSL 중 무엇을 고를지, macOS에서는 Command Line Tools와 Homebrew GCC를, Linux에서는 배포판별 패키지를 설치해 첫 프로그램을 빌드합니다. g++을 찾을 수 없음, cl 인식 실패, IntelliSense 오류 해결법도 담았습니다.
-
C++ 컴파일러 비교 | GCC vs Clang vs MSVC, 어떤 걸 써야 할까?
전처리, 구문 분석, 최적화, 코드 생성 단계를 직접 실습하며 같은 코드가 컴파일러마다 다르게 빌드되는 이유를 살펴보고, GCC의 -O2와 -O3 선택, Clang의 친절한 에러 메시지와 정적 분석, MSVC의 특징을 비교해 프로젝트에 맞는 컴파일러를 고릅니다.
-
PGO·LTO로 C++ 컴파일러 최적화하기: -O2 vs -O3 차이와 측정법
-O2와 -O3가 실제로 무엇을 다르게 하는지, LTO(Full·Thin)로 파일 경계를 넘는 인라인을 켜는 법, PGO의 계측→실행→재컴파일 3단계를 GCC·Clang·MSVC 옵션별로 설명하고 -march=native로 인한 SIGILL 같은 배포 함정도 다룹니다.
-
C++ 멀티 컴파일러 전략과 CI/CD 파이프라인 구축 | 실무 가이드
내 PC에서는 되는데 다른 환경에서 깨지는 빌드를 막기 위해 GCC, Clang, MSVC를 함께 쓰는 전략을 다룹니다. 경고를 에러로 올리는 옵션, 컴파일러 감지 매크로와 플랫폼 차이 처리, GitHub Actions 빌드 매트릭스와 CMake Presets 구성까지 예제로 보여줍니다.
-
GCC vs Clang vs MSVC: 같은 코드로 비교한 최적화 플래그, C++23/26 지원, 플랫폼 차이
같은 example.cpp를 GCC, Clang, MSVC로 빌드해 최적화 플래그별 결과와 에러 메시지가 어떻게 다른지 비교하고, C++23·C++26 표준 지원 현황, 표준 라이브러리 구현 차이, 운영체제별로 어떤 컴파일러를 권장하는지 정리합니다.
-
VS Code C++ 개발 환경: IntelliSense 빨간 밑줄, tasks.json 빌드, launch.json 디버깅, clangd
VS Code에서 C++ IntelliSense·빌드·디버깅을 설정하는 방법. compilerPath와 compile_commands.json, MSVC의 개발자 명령 프롬프트, Apple Silicon의 macos-clang-arm64와 LLDB 디버거 선택, clangd로 바꿀 때 충돌 막기, Cursor·VSCodium에서 C/C++ 확장이 동작하지 않는 이유까지 정리합니다.
-
CMake 3.31로 시작하는 C++23 Modules와 크로스플랫폼 빌드
g++ 명령을 손으로 치던 빌드를 CMakeLists.txt로 옮기는 과정을 Hello World부터 멀티파일 프로젝트까지 따라가며, Make와 Ninja 생성기 차이, Debug와 Release 빌드, find_package로 외부 라이브러리를 연결하는 방법을 복사해 쓸 수 있는 예제로 설명합니다.
-
GDB로 C++ 디버깅하기: 브레이크포인트, 워치포인트, backtrace, Core Dump 분석
GDB로 C++ 프로그램을 디버깅하는 방법. 디버그 빌드, 조건부 브레이크포인트, 워치포인트, backtrace와 변수 검사, step/next/continue, Core Dump 분석과 역방향 디버깅을 예제로 다룹니다.
-
macOS에서 LLDB로 C++ 디버깅하기: 브레이크포인트, 워치포인트, frame variable, GDB 명령 대응표
macOS에서 LLDB로 C++를 디버깅하는 방법. 디버거 권한과 코드 서명(Developer Mode, get-task-allow, SIP), frame variable과 expression의 차이, 조건부 브레이크포인트·워치포인트·backtrace, dSYM, GDB 명령어 대응표를 정리합니다.