1.컴파일러란?
컴파일러란 컴퓨터 언어를 변환해주는 언어 번역 프로그램이라고 할 수 있다.
고급언어(자바, c ,,etc)를 저급언어(기계어)로 변환해주며, 이때 고급언어, 즉 변환되기 전의 코드는
소스코드라고 하며, 저급 언어, 즉 변환된 후의 코드는 목적코드라고 한다.
컴파일러는 소스 프로그램을 읽어서 즉시 결과를 출력하는 인터프리터(파이썬등이 인터프리터 언어이다)와는 다르다.
초기 컴퓨터 프로그램들은 주로 어셈블리어로 작성되었다.
그러나 어셈블리어는 복잡하고, 작성이 느리고, 에러가 나기 쉽기 때문에
고급 프로그래밍 언어의 필요성이 대두된다. 하지만 초기 컴퓨터는 메모리 크기가 작아서,
컴파일러가 나올 수 없었다.
1950년대에 최초의 고급 프로그래밍언어가 나왔으며, 세계 최초의 컴파일러는 1952년 프로그래밍언어 A-0를 기계어로
변환하는 컴파일러이다.

2.컴파일러의 기능
컴파일러의 기능은 고급언어를 기계어로 직접 번역해주는 것이다. c나 c++같은 경우는 직접 기계어로 번역된다.
그러나 자바와 같은 경우는 바이트코드로 변환된다.
마이크로프로세서는 각 프로세서마다 다른 기계어코드로 구성되어있기 때문에 각 마이크로프로세서에 맞는
올바른 컴파일러를 사용해야 한다.
자바는 그러나, 각 프로세서에 맞는 기계어가 아닌 중간 코드인 바이트코드로 변환되기 때문에 각각 다른
마이크로프로세서에서도 재컴파일없이 동일한 코드로 실행이 가능하다.
그러나 해당 바이트코드를 해석해서 실행할 프로그램 구조가 필요하다.
관련 문서
https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC
컴파일러 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 컴파일은 여기로 연결됩니다. 일본의 기업에 대해서는 컴파일 (기업) 문서를 참고하십시오. 일반적인 다중 언어, 다중 대상 컴파일러의 동작 모습. 컴파일러(com
ko.wikipedia.org
'computer science' 카테고리의 다른 글
| cs - 프로세스 메모리 구조: 코드, 데이터, 스택, 힙 영역 (0) | 2023.04.25 |
|---|---|
| cs - pcb와 커널공간 (0) | 2023.04.25 |
| cs - 자바 가상 머신(JVM) (0) | 2022.11.07 |
| cs - 32비트 컴퓨터 (0) | 2022.11.02 |
| CS - 이더넷(Ethernet) (0) | 2022.11.01 |