본문 바로가기
-----ETC-----/C++ 마스터 시리즈

[C++ 마스터] Day 1: C++ 소개와 개발 환경 설정

by cogito21_cpp 2024. 8. 1.
반응형

C++ 소개

C++는 1980년대 초반에 Bjarne Stroustrup에 의해 개발된 프로그래밍 언어입니다. C++는 C 언어를 기반으로 객체 지향 프로그래밍(OOP) 개념을 도입하여, C의 성능과 유연성을 유지하면서도 더 높은 수준의 추상화를 제공합니다.

 

주요 특징:

  1. 고성능: C++는 시스템 프로그래밍에 적합한 고성능 언어입니다.
  2. 객체 지향 프로그래밍(OOP): 클래스, 상속, 다형성 등 OOP 개념을 지원합니다.
  3. 다양한 패러다임 지원: 절차적, 객체 지향, 제네릭 및 함수형 프로그래밍을 지원합니다.
  4. 표준 라이브러리(STL): 알고리즘, 데이터 구조, 반복자 및 함수 객체를 포함한 표준 템플릿 라이브러리를 제공합니다.

개발 환경 설정

C++ 개발을 위해 필요한 도구를 설치하고 설정합니다. 여기서는 Windows, macOS, Linux에서의 설정 방법을 다룹니다.

 

1. 컴파일러 설치
C++ 코드를 컴파일하려면 컴파일러가 필요합니다. 대표적인 컴파일러로는 GCC(GNU Compiler Collection), Clang, MSVC(Microsoft Visual C++ Compiler)가 있습니다.

 

Windows:

  • MinGW 설치: GCC 컴파일러를 포함한 MinGW를 설치합니다.
  • Visual Studio 설치: Microsoft Visual Studio를 설치하면 MSVC 컴파일러가 함께 설치됩니다.

 

macOS:

  • Xcode 설치: Xcode에는 Clang 컴파일러가 포함되어 있습니다.
  • Homebrew를 통해 GCC 설치:
  • brew install gcc

 

Linux:

  • GCC 설치:
  • sudo apt-get install gcc g++

 

2. 통합 개발 환경(IDE) 설치
IDE는 코드 작성, 디버깅, 컴파일을 쉽게 할 수 있도록 도와줍니다. 대표적인 C++ IDE는 Visual Studio, CLion, Code::Blocks, Eclipse CDT, Visual Studio Code 등이 있습니다.

 

Visual Studio Code:

  • 설치: Visual Studio Code 다운로드
  • C++ 확장 설치: "C/C++" 확장을 설치하여 C++ 개발 환경을 설정합니다.
    • 확장 설치 후, tasks.jsonlaunch.json을 설정하여 빌드 및 디버깅 환경을 구성합니다.

 

3. 첫 번째 C++ 프로그램 작성
개발 환경이 설정되었으니, 첫 번째 C++ 프로그램을 작성해 보겠습니다.

 

Hello World 프로그램:

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

 

컴파일 및 실행:

  • GCC 사용 시:
  • g++ hello.cpp -o hello ./hello
  • Visual Studio 사용 시:
    • Visual Studio에서 새 콘솔 프로젝트를 생성하고, main.cpp에 코드를 작성한 후 실행합니다.

 

예제 문제

문제 1: 자신만의 메시지를 출력하는 간단한 C++ 프로그램 작성

C++ 프로그램을 작성하여 자신만의 메시지를 출력해 보세요. 예를 들어, "Hello, C++!"와 같은 메시지를 출력하는 프로그램을 작성할 수 있습니다.

 

해설:

#include <iostream>

int main() {
    std::cout << "Hello, C++!" << std::endl;
    return 0;
}

 

이 프로그램은 <iostream> 헤더를 포함하고, main 함수 내에서 std::cout을 사용하여 "Hello, C++!" 메시지를 출력합니다.

 

문제 2: 다양한 컴파일러와 IDE를 사용해 보고, 각각의 차이점을 비교

여러 컴파일러(GCC, Clang, MSVC)와 IDE(Visual Studio, CLion, Code::Blocks, Visual Studio Code)를 설치하고 사용해 보세요. 각각의 도구가 제공하는 기능과 차이점을 비교해 보세요.

 

해설:

  • GCC: 오픈 소스 컴파일러로 다양한 플랫폼에서 사용할 수 있습니다. GNU 프로젝트의 일부이며, 많은 기능과 최적화 옵션을 제공합니다.
  • Clang: LLVM 프로젝트의 일부로, 빠른 컴파일 속도와 우수한 에러 메시지 출력을 제공합니다. GCC와 호환되는 많은 기능을 가지고 있습니다.
  • MSVC: Microsoft Visual Studio에 포함된 컴파일러로, Windows 환경에서 개발하기에 적합합니다. Microsoft의 다양한 도구와 통합되어 있습니다.
  • Visual Studio: 강력한 디버깅 도구와 코드 편집 기능을 제공하는 IDE로, MSVC 컴파일러와 긴밀하게 통합되어 있습니다.
  • CLion: JetBrains에서 제공하는 C++ 전용 IDE로, 코드 완성, 리팩토링, 디버깅 등 다양한 기능을 제공합니다. CMake를 기본 빌드 시스템으로 사용합니다.
  • Code::Blocks: 경량의 오픈 소스 IDE로, 다양한 컴파일러를 지원합니다. 인터페이스가 직관적이며 설정이 간단합니다.
  • Visual Studio Code: Microsoft에서 제공하는 무료 코드 편집기로, 다양한 확장을 통해 C++ 개발 환경을 설정할 수 있습니다. 경량의 편집기임에도 강력한 기능을 제공합니다.

 

다음 단계

1일차의 목표는 C++의 개요와 개발 환경 설정을 완료하는 것이었습니다. 다음 날부터는 본격적으로 C++의 기본 문법과 개념을 다룰 것입니다.

 

내일은 "기본 문법과 Hello World 프로그램"에 대해 다룰 예정입니다. 질문이나 피드백이 있으면 댓글로 남겨 주세요!

반응형