[컴퓨터 지식] 코드의 실행

김명섭·2024년 9월 10일

[Computer]

목록 보기
4/5

Compiler

우리가 작성한 코드는 컴파일러를 통해, 어셈블리 언어로 변환된다.

어셈블리 언어는 하드웨어가 이해할 수 있는 기계어와 1대1로 연결되어있기 때문에,
하드웨어마다 기계어와 어셈블리 언어가 다르다.
즉, 컴파일러는 하드웨어마다 다른 어셈블리 언어로 바꿔줘야하고 따라서 컴파일러도 하드웨어 마다 다르다.

Assembler

어셈블러는 어셈블리 언어를 Object Code(기계어)로 바꾸어준다.
위에서 말했듯, 어셈블리 언어는 하드웨어(CPU)에 따라 다르다.

Linker

링커는 목적 코드(기계어)를 모아 하나의 실행 파일로 만들어준다.
이때, 실행 파일을 실행하는 것은 OS 이므로, 같은 목적 코드라도 OS의 포맷에 맞게 만들어줘야하고 이를 링커가 해준다.

실행 순서

다음과 같은 순서로 실행된다고 볼 수 있다.
소스 코드 -> 어셈블리 언어 -> 목적 코드(기계어) -> 실행 파일 -> 실행
Compiler, Assembler, Linker, OS 가 순서대로 각 화살표를 담당한다.

profile
ML Engineer

0개의 댓글