쌀국수가 코딩배우며 개발일기 쓰는곳 RSS 태그 관리 글쓰기 방명록
2021-12-10 00:13:50

 

컴파일 용어

→ 사람의 말을 컴퓨터가 알아들을 수 있도록 하기 위한 과정들이 있다.

 

용어 설명
소스코드(Source Code) - 원시 코드
- 프로그래머에 의해 작성된 프로그램 문장들 (컴퓨터는 이해 못함)
- ex) test.c
컴파일(Compile) - 원시 코드를 목적 코드로 변환하는 작업
- Compiler = 변환 프로그램
오브젝트 코드(Object Code) - 목적 코드
- 소스 코드를 컴파일한 파일 (컴퓨터가 알아 볼 수 있음)
- ex) test.obj
어셈블리어(assembly language) - 컴퓨터와 일대일 대응이 가능한 언어
- 컴파일 된 파일을 어셈블리어 과정을 통해 기계어로 변환한다.
링크(Link(ing)) - 실행 가능한 형태인 모듈을 만들어내는 작업
- Linkage Editor = 처리 프로그램
로드 모듈(Load module) - 파티션에 저장된 실행 가능한 형태
- ex) test.exe
- Loader = 실행 파일을 메모리에 적재하여 CPU가 처리할 수 있도록 이동시켜주는 역할

 


 

대표 언어별 컴파일 과정

 

언어 컴파일 과정
C
- 조상격 언어, 컴파일(compile) 언어
- 운영체제끼리 호환이 되지 않아서 프로그램을 각 운영체제에 맞춰 짜야한다는 문제점이 있었다.
- 타 언어에 비해 어려운 편이지만 코드를 한 번에 번역하여 전달하는 구조라 속도가 빠르다.
- 시스템 프로그래밍에 잘 어울리는 언어이다.
- 그 외 참고자료
Python
- 인터프리터(Interpreter) 언어
- 중간 과정을 생략하고 인터프리터를 통해 소스코드를 한 줄씩 읽고 해석하며 실행한다.
- 코드가 간결하여 사용하기 쉽다.
- 그 외 참고자료
Java
- 객체 지향 언어
- 자바 가상 머신(JVM)을 사용하여 어느 운영체제에서도 같은 형태로 사용 가능
- Write Once, Run Anywhere
- 자바 컴파일러(javac)를 이용하여 컴파일 후 목적 코드를 만든다. (Test.class = byte code (반 기계어))
- JVM을 거쳐야 하는 문제로 C언어에 비해서 속도가 느리다.
- 그 외 참고자료