본문으로 바로가기
728x90
반응형

오늘은 컴파일, 어셈블, 링킹, 인터프리터에 대해 알아보겠습니다.

컴파일 : 흔히 우리가 사용하는 프로그래밍 언어인 고수준언어(C, C++, JAVA 등)를 컴퓨터가 이해하는 저수준의 언어(기계어, 어셈블리어 등)로 번역하는 작업입니다.

쉽게 말하면 컴파일러는 번역기, 해석기라고 할 수 있습니다. 언어를 변환하는 것이죠.

번역하기 전의 문서를 소스코드 혹은 원시코드라 부르고, 번역된 문서를 목적코드라고 합니다.

컴파일을 다르게 말하면 소스코드를 목적모드로 변환하는 것이라고 볼 수 있습니다.

컴파일을 하는 목적은 우리가 짠 소스코드를 컴퓨터가 이해할 수 있도록 하여 그것을 실행하기 위해서 입니다.

 

 

 

 



어셈블 : 어셈블리어를 기계어로 번역하는 것입니다.

기본 컴퓨터 명령어들을 컴퓨터 프로세스가 기본 연산을 수행하는데 사용할 수 있는 비트 패턴으로 변환합니다.

어셈블리언느 기계어와 1:1 매칭입니다.


링킹 : 목적코드와 목적코드에서 사용하는 라이브러리들을 묶어주는 것입니다.

 

 

 



인터프리터 : 원시코드를 런타임 중에 한번에 한 줄씩 읽고, 바로 실행하는 프로그램입니다.

컴파일러와는 대비가 됩니다.

인터프리터는 아래의 3가지 중 한가지 기능을 가집니다.

1. 소스코드 직접 실행

2. 소스코드를 다른 중간코드로 변환하고, 변환한 것을 실행

3. 미리 컴파일된 저장 코드의 실행을 호출

오늘 포스팅은 여기까지 하겠습니다.

728x90
반응형

'프로그래밍 > 기타' 카테고리의 다른 글

[기타] 해시테이블  (0) 2021.04.30
[기타]Tika 라이브러리  (0) 2020.10.26
[기타] 시프트 연산  (0) 2019.07.04
[기타] 트레버싱  (0) 2019.07.02