https://www.youtube.com/watch?v=I5jmg6uUTbQ&list=PLXvgR_grOs1AQuQ-5mWbx0zdG0betdeoL&index=1
- 컴파일 : 인간이 이해할 수 있는 언어로 작성된 코드를 기계어로 변환하는 작업
- 전처리 과정 -> 컴파일 과정 -> 어셈블리 과정 -> 링킹 과정
1. 전처리 과정 : 소스 코드 파일(*.c)을 전처리된 소스 코드 파일로 변환(*.i), 주석 제거, 헤더 파일 삽입, 매크로 치환 및 적용
※ 전처리기 : 컴파일하기 전에 프로그램에 대한 일련의 작업을 수행하는 것, 기계어 코드를 생성하지 않으며 소스 코드를 컴파일하기 좋게 가공
2. 컴파일 과정 : 전처리된 소스 코드 파일을 어셈블리어 파일(*.s)로 변환, 문법 검사, 정적 영역들의 메모리 할당
3. 어셈블리 과정 : 어셈블리어 파일을 오브젝트 파일(*.obj)로 변환
※ 오브젝트 파일 : 코드가 기계어로 변환된 파일
4. 링킹 과정 : 링커를 통해 오브젝트 파일들을 묶어 실행 파일로 만드는 과정 -> 선언 및 정의가 어떤 파일에 있는지 찾아서 연결
- .c 파일은 정의하는 파일, .h 파일은 선언하는 파일
'💻 Computer Science > C & C++' 카테고리의 다른 글
[C] 함수 (0) | 2024.01.03 |
---|---|
[C] 배열 (0) | 2024.01.02 |
[C++] C와 C++ 차이 (0) | 2023.12.28 |
[C] 표준 입출력 도구 (0) | 2023.12.26 |
[C] 자료형 (0) | 2023.12.26 |