Core Programming/Modern C++ & System Design

C++ 시작하기: Windows & Linux 개발 환경 설정부터 Hello World까지 완벽 가이드

임베디드 친구 2024. 12. 17. 20:30
728x90
반응형

C++ 프로그래밍 입문: 특징부터 운영체제별 환경 설정까지 완벽 가이드

안녕하세요! Coding by Head입니다. 오늘은 시스템 소프트웨어, 게임 엔진, 그리고 임베디드 시스템 개발의 핵심 언어인 C++의 기본 개념과 개발 환경 설정 방법을 정리해 보겠습니다.

C++은 강력한 성능과 유연성을 동시에 제공하여, 고성능이 요구되는 금융 시스템부터 사물인터넷(IoT) 기기까지 폭넓게 사용됩니다.

Generated by Gemini AI.


1. C++이란 무엇인가? 주요 특징 4가지

C++은 C 언어의 효율성을 유지하면서 객체 지향 프로그래밍(OOP)을 추가한 언어입니다.

  • 멀티 패러다임 지원: 절차적 프로그래밍뿐만 아니라 객체 지향, 함수형 프로그래밍을 모두 지원합니다.
  • 압도적인 고성능: 하드웨어 리소스에 직접 접근이 가능해 실행 속도가 매우 빠릅니다.
  • STL(Standard Template Library) 제공: 검증된 다양한 알고리즘과 자료구조 라이브러리를 즉시 사용할 수 있습니다.
  • 폭넓은 범용성: 게임 엔진(Unreal), 임베디드 시스템, GUI 애플리케이션 등 모든 분야의 '표준'과 같습니다.

2. C++ 개발 환경 설정 (Windows)

윈도우 환경에서는 사용자의 목적(가벼운 에디터 vs 강력한 IDE)에 따라 두 가지 옵션이 있습니다.

2.1 Visual Studio (가장 추천하는 IDE)

가장 안정적이고 강력한 디버깅 기능을 제공합니다.

  1. Visual Studio 공식 사이트에서 Installer를 다운로드합니다.
  2. 설치 시 'C++를 사용한 데스크톱 개발' 워크로드를 반드시 체크해야 합니다.

2.2 VS Code + MinGW (가벼운 설정)

저사양 PC이거나 가벼운 개발 환경을 선호한다면 추천합니다.

  1. MinGW-w64 설치: GCC 컴파일러를 윈도우에서 사용할 수 있게 해줍니다. 설치 후 bin 폴더 경로를 환경 변수(PATH)에 등록하는 것이 핵심입니다.
  2. VS Code 확장 프로그램: 'C/C++' (Microsoft) 확장을 설치합니다.
  3. 빌드 자동화: tasks.json을 통해 컴파일 과정을 자동화할 수 있습니다.
JSON
 
// .vscode/tasks.json 예시
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "C++ 빌드하기",
            "type": "cppbuild",
            "command": "g++",
            "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe"],
            "group": { "kind": "build", "isDefault": true }
        }
    ]
}

3. C++ 개발 환경 설정 (Linux)

리눅스(Ubuntu/Debian 기준)는 터미널 명령 몇 줄로 설정이 끝납니다.

  1. 컴파일러 설치:
  2. Bash
     
    sudo apt update
    sudo apt install build-essential  # gcc, g++, make 등이 포함된 필수 패키지
    
  3. 프로젝트 관리 도구(CMake): 대규모 프로젝트를 위해 설치를 권장합니다.
  4. Bash
     
    sudo apt install cmake
    

4. 첫 번째 C++ 프로그램: Hello World!

모든 프로그래밍의 시작은 화면에 메시지를 띄우는 것부터입니다. main.cpp 파일을 만들고 아래 코드를 작성해 보세요.

C++
 
#include <iostream> // 표준 입출력 헤더

/**
 * C++ 프로그램의 시작점 (Main Function)
 */
int main() {
    // std::cout을 이용해 콘솔에 메시지 출력
    std::cout << "Hello, Coding by Head World!" << std::endl;
    
    return 0; // 프로그램 정상 종료 의미
}

컴파일 및 실행 (Terminal)

  1. 컴파일: g++ main.cpp -o main
  2. 실행: ./main (Windows는 main.exe)

마치며

환경 설정이 끝났다면 이제 본격적으로 C++의 문법을 익힐 차례입니다. 다음 포스팅에서는 변수와 데이터 타입, 그리고 C++만의 특징인 참조자(Reference)에 대해 깊이 있게 다뤄보겠습니다. 궁금한 점은 댓글로 남겨주세요!

반응형