프로그래밍 언어/C++

C++ 초급 - 1. C++ 소개 및 개발 환경 설정 (4 - 첫 번째 C++ 프로그램 실행)

개발_노트 2025. 2. 12. 11:30

1.4 첫 번째 C++ 프로그램 실행

C++의 기본 문법을 익히기 위해 가장 먼저 Hello, World! 프로그램을 실행해 보자.
이 프로그램은 C++의 기본적인 코드 구조, 컴파일 과정, 실행 방법을 이해하는 데 도움이 된다.


Hello, World! 프로그램 작성

예제 코드

#include <iostream>  // 표준 입출력 라이브러리 포함

int main() {
    std::cout << "Hello, World!" << std::endl;  // 콘솔에 출력
    return 0;  // 프로그램 종료 (0: 정상 종료)
}

코드 설명

C++ 프로그램이 실행되는 기본 구조를 이해해 보자.

1. #include <iostream>: 표준 입출력 라이브러리 포함

  • #include는 헤더 파일을 포함하는 키워드이다.
  • <iostream>은 입출력 스트림을 관리하는 라이브러리이며, std::cout, std::cin과 같은 기능을 제공한다.

2. int main(): C++ 프로그램의 진입점

  • main 함수는 C++ 프로그램이 실행될 때 가장 먼저 호출되는 함수이다.
  • int 반환형은 프로그램이 종료될 때 반환할 값을 의미한다.
    • return 0;은 정상 종료를 의미하며, 오류가 있을 경우 다른 값을 반환할 수도 있다.

3. std::cout: 콘솔 출력

  • std::cout은 표준 출력(콘솔)에 데이터를 출력하는 스트림 객체이다.
  • << 연산자를 사용하여 출력할 문자열을 전달한다.

4. std::endl: 줄바꿈

  • std::endl은 출력 후 줄바꿈(newline)과 버퍼 플러시(flush)를 수행한다.
  • 대안: "\n"을 사용할 수도 있다.
    std::cout << "Hello, World!\n";
    
    • "\n"을 사용하면 std::endl보다 약간 더 빠르게 실행될 수 있다.

5. return 0;: 정상 종료 의미

  • return 0;은 프로그램이 정상적으로 종료되었음을 운영체제에 알리는 역할을 한다.
  • 일반적으로 0은 정상 종료, 1 이상의 값은 오류가 발생했음을 의미한다.

컴파일 및 실행 방법

C++ 프로그램을 실행하려면 소스 코드(.cpp 파일)를 작성한 후, 컴파일러를 사용하여 실행 파일(.exe, .out)로 변환해야 한다.
아래는 각 환경에서 컴파일 및 실행하는 방법이다.

1. GCC(G++) 사용 (Linux/macOS/Windows MinGW)

GCC(G++)는 가장 널리 사용되는 C++ 컴파일러 중 하나이다.

g++ main.cpp -o main   # 컴파일
./main                 # 실행
  • g++ main.cpp -o main → main.cpp 파일을 main 실행 파일로 변환
  • ./main → 실행

2. MSVC (Microsoft Visual C++) 사용 (Windows)

MSVC는 Visual Studio에 포함된 C++ 컴파일러이다.

cl main.cpp            # 컴파일 및 실행 파일 생성
main.exe               # 실행
  • cl main.cpp → main.exe 실행 파일 생성
  • main.exe → 실행

3. Visual Studio Code에서 실행하는 방법

Visual Studio Code(VS Code)는 가벼운 텍스트 에디터이지만, C++ 확장을 설치하면 강력한 IDE로 활용할 수 있다.

설정 및 실행 방법

  1. VS Code 다운로드 및 설치
    VS Code 공식 사이트에서 설치
  2. C++ 확장 기능 설치
    • "C/C++ IntelliSense, Debugging, CMake" 확장 설치
  3. 터미널에서 코드 실행
    • VS Code에서 Ctrl + ~을 눌러 터미널 실행
    • g++ main.cpp -o main && ./main 입력 후 실행
  4. 빌드 및 실행 자동화 (tasks.json 설정)
    • .vscode/tasks.json 파일을 생성하고 아래 설정 추가
    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Build C++",
                "type": "shell",
                "command": "g++",
                "args": ["main.cpp", "-o", "main"],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
    
    • Ctrl + Shift + B를 누르면 자동으로 컴파일 후 실행 가능

4. 디버깅 기본 설정 (gdb / lldb 소개)

디버깅(Debugging)은 프로그램의 버그를 찾고 수정하는 과정이다.
GCC, Clang에서 gdb(GNU Debugger), macOS에서는 lldb를 사용할 수 있다.

GDB 사용법 (Linux/macOS)

  1. 디버깅 가능한 실행 파일 생성
    g++ -g main.cpp -o main
    
  2. GDB 실행
    gdb ./main
    
  3. GDB 주요 명령어
    • break main → main() 함수에서 실행 멈추기
    • run → 프로그램 실행
    • next → 한 줄씩 실행 (함수 내부 실행 X)
    • step → 함수 내부까지 실행
    • print 변수명 → 변수 값 확인
    • quit → GDB 종료

LLDB 사용법 (MacOS)

  1. 디버깅 가능한 실행 파일 생성
    clang++ -g main.cpp -o main
    
  2. LLDB 실행
    lldb ./main
    
  3. LLDB 주요 명령어
    • breakpoint set --name main → main()에서 중단점 설정
    • run → 프로그램 실행
    • next → 한 줄씩 실행
    • step → 함수 내부까지 실행
    • p 변수명 → 변수 값 확인
    • quit → LLDB 종료

정리

  • C++ 프로그램의 기본 구조를 익히기 위해 Hello, World! 프로그램을 실행해 봄
  • #include <iostream>std::cout을 이용한 기본 출력 방식 이해
  • 컴파일 및 실행 방법: GCC, Clang, MSVC 사용법 정리
  • VS Code에서 빌드 및 실행 설정 방법
  • GDB / LLDB를 활용한 디버깅 개념 소개