* Complie(컴파일)
- 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일
- 개발자가 작성한 소스코드를 바이너리 코드로 변환하는 과정을 말한다. (목적파일, object file이 생성된다)
- 즉 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업이다. 이러한 작업을 해주는 프로그램을 가르켜 complier라고 한다.
* Link(링크)
- 여러개로 분리된 소스파일들을 컴파일한 결과물들에서 최종 실행가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해주는 작업
- 프로젝트를 진행하다 보면 소스파일이 여러개 생성되고, A라는 소스파일에서 B라는 소스파일에 존재하는 함수(메서드)를 호출하는 경우가 있다.
- 이때 A와 B 소스파일을 각각 컴파일만 하면 서로를 못찾으므로, A와 B를 연결해주는 작업이 필요한데 이 작업을 링크라고 한다.
- 정적 링크(static link)는 컴파일된 소스파일을 연결하여 실행가능한 파일을 만드는 것이고,
- 동적 링크(dynamic link)는 프로그램 실행 도중 프로그램 외부에 존재하는 코드를 찾아서 연결하는 것이다.
* Build(빌드)
- 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일
- 소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정을 말한다.
- 컴파일은 빌드의 부분집합이라고 할 수 있다.
* Deploy(배포)
- 빌드가 완성된 실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치시키는 일
'Coding' 카테고리의 다른 글
기본적인 입출력 - stream, stdin, stdout, EOF(End of File) (0) | 2020.04.29 |
---|---|
Overloading(오버로딩) / Overriding(오버라이딩) 차이 (0) | 2020.04.27 |