Blog
-
C++ Development Environment Setup: From Compiler Install to
Start C++ on Windows, macOS, or Linux: install Visual Studio (MSVC), MinGW (GCC), or Xcode (Clang), then write, compile, and run Hello World with clear.
-
C++ Compiler Comparison: GCC vs Clang vs MSVC — Which Should
A comparison of GCC, Clang, and MSVC covering compilation stages, optimization flags, and diagnostic differences.
-
VS Code C++ Setup: IntelliSense, Build Tasks, and Debugging
Configure Visual Studio Code for C++: c_cpp_properties.json for IntelliSense, tasks.json for builds, launch.json for gdb/lldb debugging, plus CMake.
-
CMake Tutorial for C++: CMakeLists.txt, Targets,
Learn CMake for C++ projects: CMakeLists.txt, add_executable, add_library, target_link_libraries, find_package, out-of-source builds, VS Code CMake.
-
C++ Compilation Pipeline — Preprocessing, Compilation,
C++ build pipeline: preprocess, compile, assemble, link; static vs dynamic libs; fix undefined reference and common linker errors.
-
C++ Stack vs Heap — Complete Guide
C++ stack vs heap: stack overflow from deep recursion and huge locals, memory layout, performance, new/delete, smart pointer lead-in—Valgrind.
-
C++ Memory Leaks — Complete Guide
C++ memory leaks: new/delete pitfalls, smart pointers, Valgrind and AddressSanitizer.
-
C++ Smart Pointers
C++ smart pointers: unique_ptr, shared_ptr, weak_ptr, make_unique, make_shared—fix circular references when memory grows despite no Valgrind leak.
-
C++ std::thread basics — join/detach mistakes, mutex,
C++ std::thread: create, join, detach; mutex, condition_variable, atomic, jthread; process vs thread; common mistakes and production patterns.
-
C++ mutex for Race Conditions — Complete Guide
Fix C++ data races with std::mutex, lock_guard, unique_lock, and scoped_lock.