C++ 프로그램은 소스 파일을 번역해 실행 파일을 만드는 과정에서 시작한다. 화면에 한 줄을 찍는 프로그램도 전처리, 컴파일, 링크를 거친다.
가장 짧은 프로그램
#include <iostream>
int main() {
std::cout << "안녕, C++\n";
return 0;
}`#include <iostream>`는 표준 입출력 선언을 끌어온다. `std::cout`는 표준 출력 스트림이고, `<<`는 그 스트림에 값을 넣는다. `\n`은 줄을 바꾼다.
번역은 세 단계다
전처리는 `#include`와 매크로를 풀어 번역 단위를 만든다. 컴파일러는 그 단위를 목적 파일로 바꾸고, 링커는 목적 파일과 라이브러리를 묶어 실행 파일을 만든다. 선언은 봤는데 정의가 없으면 링크 단계에서 실패하는 일이 많다.
| 단계 | 하는 일 |
|---|---|
| 전처리 | 헤더를 포함하고 매크로를 치환한다. |
| 컴파일 | 문법과 타입을 검사하고 목적 파일을 만든다. |
| 링크 | 함수 정의를 연결해 실행 파일을 만든다. |
빌드 명령은 도구마다 다르다. g++이나 clang++로 `g++ -std=c++20 -Wall -Wextra -o hello hello.cpp`처럼 표준과 경고를 켜 두고 시작하는 습관이 이후 30편 내내 도움이 된다.
댓글
0개아직 댓글이 없습니다.