[컴퓨터 구조] 언어의 컴파일 과정
2023. 3. 10. 00:34ㆍ기술 창고/CS 지식
728x90
반응형
SMALL
C 언어 케이스
- 컴파일 과정 : 전처리기 -> 컴파일러 -> 어셈블러 -> 링커
- 전처리 과정
- 본격적으로 컴파일하기 전에 처리할 작업들
- 외부에 선언된 다양한 소스 코드, 라이브러리 포함
- 프로그래밍의 편의를 위해 작성된 매크로 변환
- 컴파일할 영역 명시 등
- 컴파일 과정
- 전처리가 완료되어도 여전히 소스코드인 상태이다.
- 전처리 완료된 소스코드를 저급 언어(어셈블리어)로 변환
- 어셈블 과정
- 어셈블리어를 기계어(저급언어)로 변환
- 목적 코드를 포함하는 목적 파일이 된다.
- 링킹
- 각기 다른 목적코드들을 연결하여 실행할 수 있도록 만드는 과정.
- 예) 한 파일에 존재하는 메인 메소드에 다른 파일에 있는 더하기 메소드를 호출하고 있을 경우 컴파일 과정을 통해 두개의 목적 코드들이 따로따로 생성된 상태이다. 따라서 이 두개의 목적 코드들을 링크 시켜서 연결시키고 난 이후에야 완벽한 실행 파일로 만들어진다.
목적 파일 VS 실행 파일
- 목적 파일과 실행 파일은 둘 다 기계어로 이루어진 파일이다.
- 하지만, 목적 파일과 실행 파일은 다르다.
- 목적 파일은 링킹(linking)을 거친 이후에야 실행 파일이 된다.
728x90
반응형
LIST
'기술 창고 > CS 지식' 카테고리의 다른 글
[컴퓨터 구조] 레지스터 (CPU) (0) | 2023.03.13 |
---|---|
[컴퓨터 구조] ALU와 제어장치 (CPU) (0) | 2023.03.13 |
[컴퓨터 구조] 명령어의 구조 (0) | 2023.03.10 |
[컴퓨터 구조] 소스 코드와 명령어 (0) | 2023.03.09 |
[컴퓨터 구조] 0과 1로 문자를 표현하는 방법 (0) | 2023.03.08 |