[컴퓨터 구조] 소스 코드와 명령어

2023. 3. 9. 00:14기술 창고/CS 지식

728x90
SMALL

컴퓨터는 우리가 흔히 사용하는 Java, C, python 과 같은 프로그래밍 언어를 바로 이해하고 명령을 수행하는 것이 아니라 작성한 프로그래밍 언어를 변환한 후 이해하고 수행한다.

개발자 쪽에서 작성한 로그래밍 언어를 고급 언어 라고 표현하고, 컴퓨터가 이해하고 수행하는 언어를 저급 언어라고 한다.

 

  • 저급 언어
    • 컴퓨터가 이해하고 실행하는 언어
    • 기계어 : 이진수 0과 1로 이루어진 기계어 혹은 16진수로 이루어진 기계어
    • 어셈블리어 : 기계어를 사람들이 읽기 편하도록 번역한 언어

 

[기계어]

[어셈블리어]

 

 

  • 고급 언어
    • 개발자가 이해하기 쉽도록 이루어진 언어
    • 고급 언어가 저급 언어로 변환되는 방식 두가지
      1. 컴파일 방식
      2. 인터프리터 방식

 

컴파일 언어

개발자가 작성한 소스코드 (고급 언어) 전체를 컴파일러가 컴파일하여 목적코드 (저급 언어)로 변환한다.

# 컴파일 방식 체험 사이트 : https://godbolt.org/

 

 

인터프리터 언어

개발자가 작성한 소스코드 (고급 언어)를 인터프리터에 의해 한 줄씩 실행하여 변환한다.

 

 

 

컴파일 방식과 인터프리터 방식의 차이

컴파일 방식과 인터프리터는 변환하기 위한 과정에서도 차이가 있지만 오류 코드가 발생되었을 경우에도 그 차이를 확인할 수 있다.

컴파일 방식은 소스코드 전체를 컴파일하기 때문에 소스코드 중간에 오류가 발생되는 코드가 존재할 경우 요청한 소스코드 전체가 실행을 하지 못한다. (목적 코드로 전환하여 실행할 수 없다.)

반면에 인터프리터의 경우에는 소스코드를 한 줄씩 실행하기 때문에 계속해서 한 줄씩 실행하다가 오류 코드를 발견하면 그 직전의 코드까지는 실행을 하게된다. (오류코드 직전까지 실행한다.)

728x90
반응형
LIST