ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컴파일/인터프리터 특징 비교
    c 2023. 9. 4. 17:53

    ※ 자바 언어에서 인터프리터 방식과 컴파일 방식

    javac로 컴파일 하고 java로 실행 시 중간언어(클래스 파일)을 한줄씩 자바 인터프리터가 번역하기에 자바는 컴파일 언어이자 인터프리터 언어

     

    1. 컴파일 방식

    고급 언어로 작성된 프로그램을 목적 프로그램으로 번역 후 링킹 작업을 통해 실행 프로그램을 생성

    코드를 실행 파일로 바꾸는 과정 = PE 파일

    - 전처리

    - 어셈블리

    - 목적파일

    - 링킹

     

    2. 인터프리터 방식

    고급 언어로 작성된 프로그램을 한줄씩 번역하여 OS에서 인식하는 기계어로 바꿔주는 역할.

    (따로 실행파일을 만들지않음)

     

    ※ 컴파일러와 인터프리터 차이

    둘 다 고레벨 언어로 작성된 프로그래밍 언어를 기계어로 번역하는 것은 동일하지만

    컴파일러전체 소스코드를 보고 명령어를 수집하고 재구성,

    인터프리터는 소스코드의 각 행을 연속적으로 분석하며 실행.

     

    ※ 인터프리터의 특성

    1. 컴파일러소스코드 전체를 훑고 컴퓨터 프로세서가 실행할 수 있도록 바로 기계어로 변환하고,인터프리터고레벨 언어를 중간 코드로 변환하고 이를 각 행마다 실행한다. (이 중간 코드는 다른 프로그램에 의해 실행된다.)

    2. 일반적으로 컴파일러가 각 행마다 실행하는 특성을 가진 인터프리터보단 실행시간이 빠르다.

    3. 컴파일러전체코드 변환 후 에러를 보고하지만 인터프리터각 행마다 실행하는 도중 에러가 보고되면 이후 작성된 코드를 보지 않는다. <컴파일러 - 바이트 코드 생산 (보안적인 장점), 인터프리터 - 플랫폼 독립적>

    4. 파이썬인터프리터, CC++컴파일 언어, 자바컴파일러인터프리터 모두 사용한다.

     

    <장단점 비교 정리>

      컴파일러 인터프리터
    개발 편의성 코드를 수정하고 실행하려면 컴파일을 다시 해야한다. 코드를 수정하고 즉시 실행할 수 있다.
    실행 속도 빠르다. 느리다.
    보안 프로그램의 코드가 유출되지 않는다. 프로그램의 코드가 유출될 수 있다.
    파일 용량 프로그램의 실행 파일 전체를 전송해야 하므로, 용량이 크다. 프로그램의 코드만 전송하면 실행이 되므로, 용량이 작다.
    프로그래밍 언어 C, C++처럼 비교적 저수준에 가까운 언어 Python, Ruby처럼 비교적 고수준에 가까운 언어

     

    'c' 카테고리의 다른 글

    C언어 개념/ 역사/ 특징  (0) 2023.09.07
    컴파일 관련 기본 지식  (0) 2023.09.07
Designed by Tistory.