컴파일
-
Macro가 뭘까?Programming🧑💻/Cpp 2025. 2. 12. 15:36
매크로는 전처리기에게 "이 텍스트를 저 텍스트로 바꿔주세요"라고 지시하는 일종의 치환 규칙입니다.메크로 기본 개념 가장 단순한 형태의 메크로는 #define을 사용한 상수 정의입니다. #define PI 3.14159#define MAX_STUDENTS 30int main() { double circle_area = PI * radius * radius; // 컴파일 전에 PI가 3.14159로 치환됨 int students[MAX_STUDENTS]; // MAX_STUDENTS는 30으로 치환됨} 여기서 중요한 것은 메크로가 동작하는 시점입니다. 컴파일러가 코드를 컴파일하기 전에, 전처리기가 먼저 모든 메크로를 치환합니다.위 코드는 전처리 후에 다음과 같이 변합니다. int main() ..
-
빌드 과정과 #include의 역할 이해하기Programming🧑💻/Cpp 2025. 2. 12. 14:52
빌드 과정 이해하기 cpp 프로그램이 실행 파일이 되기까지는 크게 세 단계를 거칩니다. 1. 전처리(Preprocessing) 단계전처리기는 실제 컴파일이 시작되기 전에 소스 코드를 다듬는 작업을 수행합니다. #으로 시작하는 모든 지시문(#include, #define 등)을 처리하는 것이 바로 이 단계입니다. 이때 #include 지시문을 만나면, 해당 파일의 내용을 그 자리에 그대로 복사해 넣습니다.2. 컴파일(Compilation) 단계전처리된 소스 코드를 기계어로 변환하는 단계입니다. 각각의 .cpp 파일은 독립적으로 컴파일되어 목적 파일(.obj 또는 .o)이 됩니다.3. 링크(Linking) 단계여러 개의 목적 파일들을 하나로 모아서 실행 파일을 만드는 단계입니다. 각 파일에서 사용된 함수나 ..
-
헤더파일은 뭐고 왜 필요한가?Programming🧑💻/Cpp 2025. 2. 12. 14:17
헤더 파일의 기본 개념 헤더 파일은 간단히 말해서 선언(Declaration)을 포함하는 파일입니다. 여기서 선언이란 "이런 것들이 어딘가에 있을 것이다."라고 컴파일러에게 알려주는 것을 의미합니다.예를 들어, 다음과 같은 함수 선언은 "이런 함수가 어딘가에 있을 것이다."라고 알려주는 것입니다. // math.h#ifndef MATH_H#define MATH_Hint calculateSum(int a, int b);#endif 반면, 구현(Implementation)은 실제로 그 함수가 어떻게 동작하는지를 정의하는 것입니다. // math.cpp#include "math.h"int calculateSum(int a, int b) { return a + b;} 위에서 정의한 헤더파일과 cpp 파일은..