C++ 프로그래밍을 배우기로 결심했지만 어디서부터 시작해야 할지 막막하신가요? 이 글에서는 C++ 학습을 시작하는 데 필요한 핵심 단계를 컴파일러 설치부터 첫 프로그램 작성, 컴파일, 실행까지 순서대로 안내해 드립니다.
1단계: C++ 컴파일러 설치하기
C++ 프로그래밍 학습을 시작하기 전에 가장 먼저 해야 할 일은 컴파일러를 준비하는 것입니다. 주요 운영체제(OS) 대부분에서 무료로 사용할 수 있는 훌륭한 C++ 컴파일러가 있으니, 자신의 환경에 맞는 것을 선택해 다운로드하세요. 별도 설치 없이 온라인 컴파일러를 이용하고 싶다면 tutorialspoint.com의 웹 기반 C++ 컴파일러를 활용할 수도 있습니다.
GCC - GNU 프로젝트에서 만든 컴파일러 모음집으로, 다양한 언어를 지원하는 대표적인 오픈소스 컴파일러입니다. https://gcc.gnu.org/ 에서 다운로드 및 설치할 수 있습니다.
Clang - LLVM 커뮤니티에서 배포하는 컴파일러 모음입니다. 모든 플랫폼에서 사용 가능하며, https://clang.llvm.org/get_started.html 에서 설치 방법을 확인할 수 있습니다.
Visual C++ 2017 Community - 마이크로소프트가 Windows용으로 제공하는 무료 C++ 컴파일러입니다. www.visualstudio.com/vs/cplusplus/ 에서 다운로드할 수 있습니다.
2단계: 첫 번째 C++ 프로그램 작성하기
컴파일러 설치가 끝났다면 이제 직접 C++ 프로그램을 작성해 볼 차례입니다. 프로그래밍 입문의 정석이라 불리는 'Hello World' 프로그램부터 시작해 보겠습니다. 화면에 "Hello World"를 출력하는 간단한 예제입니다.
hello.cpp라는 새 파일을 만들고 아래 코드를 입력하세요.
#include<iostream>
int main() {
std::cout << "Hello World\n";
}
코드 상세 분석
1행 - #include<iostream> 구문은 전처리기(preprocessor)에게 iostream 헤더 파일(입출력 스트림 관리용)의 코드를 소스 파일에 포함시키라고 지시합니다. iostream 헤더 덕분에 프로그램 결과(Hello World)를 화면에 출력하는 것과 같은 표준 입출력 작업을 수행할 수 있습니다. 해시 기호(#)로 시작하는 줄은 전처리기가 읽고 해석하는 지시문(directive)입니다.
2행 - 빈 줄입니다. 빈 줄은 프로그램 실행에 아무런 영향을 주지 않습니다.
3행 - 반환 타입이 int인 main 함수를 선언합니다. main() 함수는 C++ 프로그램의 진입점(entry point)입니다. 프로그램을 실행하면 main 함수의 첫 번째 줄부터 시작해 마지막 줄까지 순차적으로 코드가 실행됩니다. 여기서 여는 중괄호({)는 main 함수 정의의 시작을, 5행의 닫는 중괄호(})는 그 끝을 의미합니다. 두 중괄호 사이의 모든 문장이 함수 본문이며, main이 호출될 때 실제로 수행되는 동작을 정의합니다.
4행
std::cout << "Hello World\n";
이 문장은 하나의 C++ 명령문(statement)이며, 세 부분으로 구성됩니다. 첫째, std::cout은 표준 콘솔 출력 장치를 나타냅니다. 둘째, 삽입 연산자 << 는 뒤따르는 내용을 std::cout에 삽입하라는 의미입니다. 셋째, 따옴표로 묶인 문자열로, 화면에 출력하고 싶은 내용입니다.
요약하면, cout 객체에 "Hello World\n" 문자열을 전달하여 표준 출력 장치에 출력하는 것입니다. 또한 이 문장이 세미콜론(;)으로 끝나는 점에 유의하세요. 세미콜론은 하나의 명령문이 끝났음을 표시하는 문자입니다.
3단계: 프로그램 컴파일하기
프로그램 작성이 끝났다면, 사람이 읽을 수 있는 코드를 프로세서가 이해하는 이진 기계어(binary machine code)로 변환해야 합니다. 이 작업은 1단계에서 설치한 컴파일러를 통해 수행합니다.
터미널(또는 cmd)을 열고 cd 명령어로 hello.cpp 파일이 있는 위치로 이동하세요. GCC를 설치했다면 아래 명령어로 프로그램을 컴파일할 수 있습니다.
$ g++ -o hello hello.cpp
이 명령어는 g++ 컴파일러에게 hello.cpp 소스 파일을 사용하여 hello라는 이름의 실행 파일을 생성하라고 지시하는 것입니다.
4단계: 프로그램 실행하기
프로그램을 작성하고 컴파일까지 마쳤으니 이제 실행해 볼 시간입니다! 아래 명령어로 프로그램을 실행할 수 있습니다.
$ ./hello
실행하면 다음과 같은 결과가 출력됩니다.
Hello World
다음 학습을 위한 추천 자료
C++ 시작 방법을 익혔다면, cplusplus.com(https://www.cplusplus.com/doc/tutorial/) 같은 웹사이트의 튜토리얼을 참고해 본격적으로 학습을 이어가 보세요. 초보자를 위한 훌륭한 가이드가 잘 정리되어 있습니다.
책으로 공부하는 것도 매우 효과적입니다. Bjarne Stroustrup(C++ 창시자), Scott Meyers 등 저명한 저자의 도서를 활용해 보세요. 『A Tour of C++』로 시작한 후 『Effective C++』 등으로 넘어가는 학습 경로를 추천합니다. Stack Overflow의 C++ 필독서 목록(https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)도 확인해 보면 좋습니다.
더 깊이 있는 학습을 원한다면 C++ 표준 문서를 직접 살펴보는 것도 좋은 방법입니다. ISO C++ 공식 웹사이트에서 초안(draft) 버전을 무료로 열람할 수 있습니다.