본문 바로가기
개발이야기/C++

C++기초: 2강-컴파일과 실행의 과정 이해

by oddsilk 2024. 12. 2.

컴파일과 실행의 과정 이해하기: 컴퓨터는 어떻게 프로그램을 실행할까?

안녕하세요! 오늘은 컴퓨터가 우리가 작성한 코드를 실제로 실행하는 과정, "컴파일과 실행"에 대해 배워 보겠습니다. "컴파일"이라는 단어가 조금 낯설게 느껴질 수 있지만, 아주 간단한 비유를 통해 이 과정을 쉽게 이해할 수 있도록 도와드릴게요.


컴파일이란 무엇일까?

컴파일은 우리가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 과정입니다. 이때 사용되는 도구를 "컴파일러"라고 부르죠.

비유를 들어 설명하자면, 컴파일은 "통역사"와 비슷합니다.

만약 여러분이 외국 사람과 대화를 해야 한다고 상상해 보세요. 여러분이 한국어로 말하면 외국 사람은 알아들을 수 없겠죠?

 

이때 통역사가 여러분의 말을 상대방이 이해할 수 있는 언어로 번역해 주는 것처럼, 컴파일러는 우리가 작성한 C++ 코드를 컴퓨터가 알아들을 수 있는 기계어로 번역해 줍니다.

 

인간의 말을 번역해주는 번역가 '컴파일러'

 


컴파일과 실행의 전체 과정

프로그램이 실행되기까지는 대략 다음과 같은 단계를 거칩니다.

  1. 작성 단계: 프로그래머가 소스 코드를 작성합니다. (예: main.cpp라는 파일)
  2. 컴파일 단계: 컴파일러가 소스 코드를 읽고 컴퓨터가 이해할 수 있는 언어(기계어)로 번역합니다.
  3. 링크 단계: 여러 파일이나 외부 라이브러리를 하나로 묶어 실행 가능한 프로그램(예: main.exe)을 만듭니다.
  4. 실행 단계: 최종 결과물을 실행해 프로그램이 작동합니다.

이 과정을 외국어 번역에 비유하면 다음과 같습니다.

  1. 작성: 여러분이 한국어로 어떤 문장을 씁니다. 예를 들어, "안녕하세요!"라고 적었다고 해볼게요.
  2. 컴파일: 통역사가 이 문장을 영어로 번역합니다. "Hello!"라고 번역된 결과물이 나옵니다.
  3. 링크: 다른 문장들과 연결해 하나의 문단을 완성합니다. "Hello! My name is John. Nice to meet you."
  4. 실행: 완성된 문단을 외국 사람에게 읽어 줍니다.

컴퓨터도 마찬가지로, 우리가 작성한 코드를 번역하고, 연결하고, 실행해서 최종 결과를 화면에 보여주는 과정을 거칩니다.


코드와 실행 파일의 관계

우리가 작성하는 파일(예: main.cpp)은 사람만 읽을 수 있는 "소스 코드"입니다. 하지만 컴퓨터는 이런 파일을 이해할 수 없어요. 컴파일러가 이 파일을 번역해 실행 파일(예: main.exe)로 만들어 줍니다. 실행 파일은 더 이상 사람이 읽기 어려운 기계어로 되어 있지만, 컴퓨터는 이 파일을 읽고 프로그램을 실행할 수 있습니다.


실습: 간단한 프로그램 실행하기

직접 간단한 프로그램을 작성하고 실행 과정을 살펴봅시다. 우리가 작성할 코드는 화면에 "안녕하세요!"라는 메시지를 출력하는 프로그램입니다.

1단계: 코드 작성

아래의 코드를 작성해 보세요.

 

 

#include <iostream>

int main() {
    std::cout << "안녕하세요! 프로그래밍 세계에 오신 것을 환영합니다!" << std::endl;
    return 0;
}

 

2단계: 컴파일

작성한 코드를 컴파일합니다. Visual Studio에서는 "Build(빌드)" 버튼을 클릭하면 자동으로 컴파일이 이루어집니다. 이 과정에서 main.cpp가 번역되어 실행 파일이 만들어집니다.

3단계: 실행

컴파일이 완료된 실행 파일(보통 .exe 확장자)을 실행합니다. 결과적으로 화면에 다음 메시지가 출력됩니다.

 

안녕하세요! 프로그래밍 세계에 오신 것을 환영합니다!

실무에서의 컴파일과 실행

프로그래밍 실무에서도 컴파일은 아주 중요한 과정입니다. 특히 대규모 프로젝트에서는 수많은 소스 파일과 외부 라이브러리를 한데 모아 컴파일하고, 오류를 찾는 과정이 필요합니다. 언리얼 엔진에서도 여러분이 작성한 코드가 실행되기 위해 반드시 컴파일을 거쳐야 하며, 컴파일러가 코드에 문제가 없는지 확인해 줍니다.


마무리

오늘은 컴파일과 실행의 과정을 언어 번역에 비유해서 설명드렸습니다. 컴파일은 프로그래머가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 과정입니다. 이 과정이 끝나면 비로소 프로그램이 실행될 준비가 되죠. 다음 시간에는 "기본 문법"을 배우며 C++의 기초를 다져 보겠습니다. 함께 컴퓨터와 대화하는 방법을 계속 배워 나가 봅시다! 😊