icon안동민 개발노트

개발 환경 설정


C++ 컴파일러 소개

 C++ 프로그램을 실행하기 위해서는 먼저 소스 코드를 기계어로 변환해야 합니다. 이 작업을 수행하는 것이 컴파일러입니다. 주요 C++ 컴파일러는 다음과 같습니다.

  1. GCC (GNU Compiler Collection)
  • 가장 널리 사용되는 오픈 소스 컴파일러
  • Linux, macOS, Windows(MinGW) 등 다양한 플랫폼 지원
  • 명령어 예 : g++ -o myprogram myprogram.cpp
  1. Clang
  • LLVM 프로젝트의 일부로 개발된 컴파일러
  • 빠른 컴파일 속도와 명확한 오류 메시지로 유명
  • Apple의 Xcode에 기본 컴파일러로 채택
  • 명령어 예 : clang++ -o myprogram myprogram.cpp
  1. Microsoft Visual C++ Compiler
  • Windows 환경에 최적화된 컴파일러
  • Visual Studio에 포함되어 있음
  • 명령어 예 : cl myprogram.cpp

통합 개발 환경 (IDE) 소개

 IDE는 코드 편집, 컴파일, 디버깅 등의 기능을 통합적으로 제공하는 소프트웨어입니다. 주요 C++ IDE는 다음과 같습니다.

  1. Visual Studio
  • Microsoft에서 개발한 강력한 IDE
  • 광범위한 기능과 확장성 제공
  • 무료 버전(Community Edition) 사용 가능
  1. Visual Studio Code
  • 경량화된 코드 에디터이지만 확장을 통해 IDE 기능 구현 가능
  • 다양한 언어 지원, 크로스 플랫폼
  • C++ 개발을 위한 확장 팩 제공
  1. CLion
  • JetBrains사에서 개발한 크로스 플랫폼 C/C++ IDE
  • 강력한 코드 분석 및 리팩토링 도구 제공
  • 유료이지만 학생은 무료로 사용 가능
  1. Eclipse CDT
  • 오픈 소스 IDE
  • 풍부한 플러그인 생태계
  • 대규모 프로젝트 관리에 적합

개발 환경 설정 단계 (Visual Studio Code 기준)

  1. Visual Studio Code 설치
  1. C++ 확장 팩 설치
  • VS Code 내에서 확장(Extensions) 탭 열기
  • "C/C++" 검색 후 Microsoft의 확장 팩 설치
  1. MinGW 설치 (Windows 환경)
  1. 환경 변수 설정
  • 시스템 환경 변수 편집 > 환경 변수 > Path > 편집
  • MinGW의 bin 폴더 경로 추가 (예 : C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin)
  1. 프로젝트 폴더 생성 및 설정
  • 새 폴더 생성 후 VS Code로 열기
  • '.vscode' 폴더 내에 tasks.json 및 launch.json 파일 생성 및 설정

첫 번째 프로그램 작성 및 실행

  1. 새 파일 생성 (예 : hello.cpp)
  2. 다음 코드 입력
#include <iostream>
 
int main() {
    std::cout << "Hello, C++ World!" << std::endl;
    return 0;
}
  1. 파일 저장
  2. 터미널에서 다음 명령어 실행
g++ -o hello hello.cpp
./hello

빌드 과정 이해

 C++ 프로그램의 빌드 과정은 다음과 같습니다.

  1. 전처리 (Preprocessing)
  • #include, #define 등의 전처리기 지시문 처리
  • 매크로 확장
  • 조건부 컴파일 처리
  1. 컴파일 (Compilation)
  • 전처리된 코드를 어셈블리 코드로 변환
  • 문법 검사 수행
  • 최적화 수행 (컴파일러 옵션에 따라)
  1. 어셈블 (Assembly)
  • 어셈블리 코드를 객체 파일(.o 또는 .obj)로 변환
  1. 링킹 (Linking)
  • 여러 객체 파일을 하나의 실행 파일로 결합
  • 라이브러리 연결
  • 메모리 주소 할당

디버깅 기초

 디버깅은 프로그램의 오류를 찾고 수정하는 과정입니다. VS Code에서의 기본적인 디버깅 기능은 다음과 같습니다.

  1. 브레이크포인트 설정
  • 코드 라인 왼쪽 클릭으로 설정/해제
  1. 변수 값 확인
  • 디버그 모드에서 변수에 마우스 오버
  • 'Watch' 창에서 변수 추가하여 지속적 모니터링
  1. 단계별 실행
  • Step Over (F10) : 현재 라인 실행 후 다음 라인으로 이동
  • Step Into (F11) : 함수 내부로 진입
  • Step Out (Shift+F11) : 현재 함수에서 빠져나옴
  1. 콜 스택 확인
  • 프로그램의 실행 경로 추적

버전 관리 시스템 소개

 버전 관리 시스템은 소스 코드의 변경 사항을 추적하고 관리하는 도구입니다. Git은 가장 널리 사용되는 버전 관리 시스템입니다.

  1. Git 기본 개념
  • Repository : 프로젝트의 모든 파일과 히스토리를 저장하는 저장소
  • Commit : 변경 사항의 스냅샷
  • Branch : 독립적인 작업 라인
  1. 기본 Git 명령어
  • git init : 새 저장소 초기화
  • git add : 변경 사항을 스테이징 영역에 추가
  • git commit : 변경 사항을 저장소에 기록
  • git push : 로컬 변경 사항을 원격 저장소에 업로드
  • git pull : 원격 저장소의 변경 사항을 로컬로 가져오기
  1. GitHub 사용법
  • 계정 생성
  • 새 저장소 생성
  • 로컬 저장소와 원격 저장소 연결
  • 변경 사항 push 및 pull

연습 문제

  1. 여러분의 컴퓨터에 Visual Studio Code와 MinGW(Windows의 경우)를 설치하고 환경 변수를 설정하세요.
  2. "Hello, C++ World!" 프로그램을 작성하고 실행해보세요.
  3. 다음 코드를 입력하고 컴파일 해보세요. 오류가 발생한다면 그 이유를 설명하고 수정해보세요.
#include <iostream>
 
int main() {
    int x = 10;
    std::cout << "x의 값은: " << x << std::endl;
    return 0
}
  1. 간단한 계산기 프로그램을 작성하세요. 사용자로부터 두 개의 숫자와 연산자(+, -, *, /)를 입력받아 결과를 출력하는 프로그램입니다.


참고 자료