3. 명령어 - 소스코드와 명령어 #34
jcrescent61
started this conversation in
혼자 공부하는 컴퓨터 구조+운영체제
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
강의 링크 바로가기
소스 코드와 명령어
우리가 프로그램을 작성하기 위한 소스코드가 어떻게 컴퓨터를 동작 시키는 명령어로 변환되는지 알아보자.
이렇게 작성한 코드를 컴퓨터가 직독직해 해서 이해할 수 있을까? 많은 경우에 그렇지가 않다.
저급언어
저급 언어는 크게 기계어, 어셈블리어로 나뉜다.
기계어
기계어는 0과 1로 이루어진 언어이다. 명령어로 이루어진 언어가 기계어이다. 16진수로 표현되는 경우도 있다.
사람 입장에서는 어떤 의미인지 이해하기 어렵다.
어셈블리어
0과 1로 이루어진 기계어를 읽기 편한 언어로 변환한 언어이다.
소스코드에 직접적으로 명시하면서 개발을 하기도 한다.
어셈블리어를 알아두면 좋은 개발 직군도 있다.
고급언어
프로그래머들이 개발할 때 사용하는 언어를 고급언어로 보면 된다.
고급 언어가 저급 언어로 변환되는 방식이 컴파일 방식과 인터프리트 방식으로 나뉜다.
컴파일 언어
고급언어를 컴파일러라는 저급 언어로 변환 시켜주는 프로그램에 의해서 컴파일이 되고 소스 코드를 명령어(0과 1)로 이루어진 목적 코드로 변환이 된다.
인터프리트 언어
인터프리터에 의해 한 줄씩 실행 된다. 소스 코드 전체가 저급 언어로 변환되기까지 기다릴 필요없다.
컴파일 언어와 인터프리트 언어 차이점 재정리
컴파일 언어는 고급 언어를 저급언어로 한꺼번에 해석하는 컴파일이라는 과정이 존재한다. 따라서 컴파일 하는 데에 시간을 기다려야한다. 그리고 인터프리트 언어는 고급 언어를 한줄씩 그 때 그 때 번역하기 때문에 컴파일 타임이 존재하지 않는다. 하지만 컴파일 언어와 인터프리트 언어는 칼로 자르듯 구분되는 것은 아니다. 둘의 경계가 애매한 경우가 있거나 둘다 가능한 경우가 있다.
Beta Was this translation helpful? Give feedback.
All reactions