컴파일 용어
→ 사람의 말을 컴퓨터가 알아들을 수 있도록 하기 위한 과정들이 있다.
용어 | 설명 |
소스코드(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언어에 비해서 속도가 느리다. - 그 외 참고자료 |
'개발일기 > AWS 클라우드 수업' 카테고리의 다른 글
[AWS 클라우드 수업] 프로그래밍 언어 개론 (0) | 2021.12.07 |
---|---|
[AWS 클라우드 수업] IT 산업에 대하여 (0) | 2021.12.07 |