'컴파일'에 해당되는 글 2건

  1. 2007/04/13 컴파일과 인터프리트
  2. 2007/04/13 언어와 컴파일러
프로그래밍 언어를 기계어로 번역시키는 방법에는 두 가지가 있다.
하나는 '컴파일' 방식이고, 또 하나는 '인터프리트' 방식이다.

컴파일이란, 이미 작성된 문서를 번역하는 것으로 생각할 수 있다. 즉, 프로그래밍 언어로 작성된 코드가 있을 때 이를 모두 기계어로 번역하여 실행파일을 만드는 것이다. 거의 대부분의 프로그래밍 언어가 이에 포함된다.

인터프리트란, 동시 통역으로 생각할 수 있다. 프로그래밍 언어로 작성된 코드가 있으면, 이를 모두 번역하고 실행 파일을 만드는 것이 아니라 실행을 시키고 실행이 되는 동안에 번역을 해 나가는 것이다. 대표적으로 베이직과 자바, HTML이 이에 속한다.

각각은 모두 장단점이 있다.

구분
장점
단점
컴파일
 방식
1. 실행파일의 실행속도가 빠르다.
2. 독립적으로 실행될 수 있다.
1. 플랫폼이나 하드웨어에 종속적이다.
2. 프로그램의 중간 실행 과정을 알 수
    없다.
인터프리트
방식
1. 플랫폼이나 하드웨어에 관계없이
    프로그램을 개발할 수 있다.
2. 문법이 비교적 쉬워 배우기 쉽다.
3. 프로그램의 중간 실행 과정을
    알 수 있다.
1. 실행할 때마다 번역을 해야 하므로 실행
    속도가 느리다.
2. 프로그램이 실행되려면 인터프리터가
    필요하다.


플랫폼이나 하드웨어에 종속적이라는 것은, 실행되는 플랫폼에 따라 프로그램이 달라지는 것을 말한다. 예를 들어, Windows 용 프로그램과 Linux 용 프로그램이 따로 있는 것은 플랫폼에 종속적이라고 할 수 있다. 하지만, 인터프리트 방식은 각 플랫폼에 맞는 인터프리터만 따로 따로 있으면 되기 때문에, 프로그램 자체는 모두 같다.


2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry
사람들은 종종 프로그래밍 언어와 컴파일러를 혼동하곤 한다. 언어와 컴파일러는 전혀 다른 존재임에도 불구하고, 이름이 비슷하기 때문에 혼동하기 쉬운 것이다. 언어는 말 그대로 언어이며, 컴파일러는 이 언어를 기계어로 번역해 주는 역할(컴파일)을 담당하는 프로그램이다.

C를 기준으로 설명하겠다.
C는 현재 가장 많이 쓰이고 있는 '언어'이다. C언어로 작성된 프로그램을 기계어로 번역시켜주는 컴파일러의 종류는 여러 가지가 있다. 하나의 언어에도 관련된 컴파일러가 여러 개 존재할 수 있다는 것이다. 가장 많이 쓰이는 컴파일러는 Microsoft 社의 Visual C++이다.
조금 더 깊게 파고 들어가보자. 컴파일러는 번역만을 담당한다. 하지만 MS의 Visual C++은 소스 작성/편집 기능, 프로젝트 관리 기능, 디버그 기능, 컴파일과 함께 링크를 시켜주는 등 다양한 프로그래밍에 필요한 기능을 포함하고 있다. 이와 같이 순수한 컴파일 이외에 프로그래밍에 필요한 기능을 포함하는 것을 '통합 개발 환경'(IDE : Integrated Development Environment)라고 한다. 실제로 Visual C++에서 컴파일을 담당하는 것은 cl.exe라고 하는 프로그램이며, 이 프로그램을 기반으로 하여 VC++이라고 하는 IDE를 만들게 된 것이다.
위에서 말한 '컴파일러', '통합 개발 환경'은 모두 언어가 아니며 프로그램 작성에 도움을 주고 기계어로 번역해 주는 '도구'일 뿐이다.

마지막으로 C를 예로 들어 정리해보자.
언어 : C언어
컴파일러 겸 IDE : Microsoft Visual C++ (MS VC++)


참고로, MS VC++은 C언어 뿐만 아니라 C++의 컴파일도 지원한다.
C언어와 C++은 크게 다르지 않지만, 몇 가지 차이점이 있다.


2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry