|

컴파일 뜻 : 컴파일링이란?

■ 컴파일이란?

컴파일(compile)이란 프로그래머가 작성한 소스코드를 바이너리 파일로 변환하는 과정이다. 소스코드를 Compiler 하여 프로그램을 만들 수 있다. 요즘은 배포판 공급업체에서 이미 compile 된 바이너리 파일들을 저장소에 관리하는 것이 일반적인 사항이 되었으며, 서버로 다운로드 후 바로 사용할 수 있다.

Ⅰ. 컴파일링과 링킹

compile 과정을 컴파일링(compiling)이라고 하며, 소스코드(사람일 읽을 수 있는 형태의 프로그램)를 컴퓨터 프로세서의 언어로 변경하는 절차이다. 컴퓨터 프로세서는 실행 시 기계어로 실행되는 바이너리(이전법 0,1)이다.


프로그래밍 언어는 C언어 및 C++언어 그리고 C#, Objective-C, JAVA, Javascript, Swift, Perl, Ruby, Python, PHP 등이 있다.

컴파일

컴파일링과 함께 사용되는 과정 중 링킹이 있다. 프로그램들이 파일 열기를 각각 한다면 시간 낭비가 될 수 있기 때문이다. 프로그램이 컴파일러의 출력물과 컴파일 된 프로그램이 필요한 라이브러리를 연결하는 데 링커가 사용된다. 컴파일링과 링킹의 과정을 통한 결과물이 실행파일이다.

Ⅱ. 컴파일을 하는 이유

ⓐ 가용성: 배포반 저장소에 있는 사용 가능한 프로그램들이 있음에도, 배포판은 사용자가 원하는 모든 프로그램 요소를 가지고 있지 않을 수 있다. 결국 방법은 필요한 프로그램을 소스로부터 얻어 프로그램을 컴파일링 해서 만들어 사용하는 이유다.

ⓑ 적시성: 배포판이 최신 버전의 프로그램이 적용되어 있을 수 있지만 반대인 경우도 많다. 최신 버전의 프로그램을 사용하기 위해 Compiler을 사용할 수 있다.

구글 검색 시 Compiler 설치 방법이 인터넷에 넘쳐 나는 이유는 기술 블로그를 운영하는 사람들이 업무 시 참고용 기록을 남긴 것으로 추측된다. Compiler 방법을 블로그에 남겨 놓고 나중에 다시 작업을 할 수 있게 끔 기록을 남긴 것으로 보인다.

Ⅲ. 컴파일러 or 인터프리터

compile 작업을 할 수 있게 해주는 프로그램을 컴파일러(Compiler)라고 한다. 컴파일러는 소스 코드를 읽어서 즉시 결과를 출력하는 인터프리터(interpreter)와 구분된다.

compile 없이 직접 실행되는 스크립트 or 인터프티터 언어로 알려진 프로그래밍 언어들은 직접 실행된다. 스크립트 언어인터프리터로 불리는 특수 한 프로그램에 의해 실행된다. 인터프리터는 작성된 명령어들을 한번에 한 줄 씩 읽으면서 실행하는 프로그램이다. 

리눅스 서버 등에서 인기 있는 인터프리터 언어는 Perl, python, PHP, Ruby 등이 있다.

인터프리트 된 프로그램들은 컴파일된 프로그램보다 느리게 실행되며, 프로그램 내 소스 코드 명령이 매번 번역된 후 실행되기 때문이다. Compiler 된 소스코드는 한번만 해석되면 결과물인 실행 파일로 기록되어 있어 속도가 빠르다.

컴파일 뜻 : 컴파일링이란?

인터프리트 언어는 복잡한 Compiler 단계가 없어서 프로그램 개발 속도가 빠르고 그만큼 인기가 있다고 볼 수 있다.

Similar Posts

  • Apache 시작, 중지, 재시작 명령어 | 서비스 상태 확인

    리눅스에서 Apache를 설치하고 레드헷 계열과 우분투에서의 시작, 중지, 재시작 명령어를 자주 사용하게 됩니다. Apache 시작, 중지, 재시작 등의 명령어는 다음과 같습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터✅ Apache 시작 및 중지, 재시작: Red Hat 계열 ✅ Apache 시작 및 중지, 재시작: Debian 계열 (Ubuntu, Debian 등) 우분투 시작, 재시작…

  • 리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어

    리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다. 리눅스 기본 명령어 3가지에 대해 알아 보겠습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터✅ 리눅스 which 명령어 ‘어느’,…

  • [Linux] Certbot 설치 및 갱신 설정: Let’s Encrypt 인증서

    웹사이트에서 HTTPS를 활성화하려면 인증 기관(CA)에서 인증서를 설치해야 합니다. Let’s Encrypt는 2억 2500 만 개의 사이트에 TLS 인증서를 제공하는 비영리 인증 기관(CA)으로 제공하는 Certbot 설치를 통해 무료로 인증서를 발급받을 수 있습니다. CentOS, Ubuntu, Rocky Linux 등 Shell을 이용할 수 있는 사용자는 Certbot ACME 클라이언트를 사용하는 것을 권장하고 있습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는…

  • 리눅스 head 명령어 & tail 명령어

    리눅스 head 명령어는 파일의 처음 10줄을 보여주는 명령어이며, tail 명령어는 파일의 마지막 10줄을 보여주는 명령어입니다. 옵션 없이 사용할 경우 각각의 머리와 꼬리 부분을 보여주는 것을 알 수 있습니다. head와 tail 명령어는 보통 서버의 access_log를 볼 때 주로 많이 사용됩니다. 두 명령어의 사용법과 테스트 서버에서 access_log를 각각의 명령어를 통해 확인 해 보겠습니다. 목차■ 컴파일이란?Ⅰ….

  • 리눅스 top 명령어(CPU, 메모리 점유율 확인)

    리눅스 top 명령어는 구동 중인 OS의 상태를 보여주는 명령어이며 table of processes의 뜻을 가지고 있습니다. 총 메모리 사용량, CPU 사용량 등을 보여주며 각 프로세스의 구체적인 메모리와 CPU 사용량을 개별적으로 확인할 수 있습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터Ⅰ. 리눅스 top 명령어 기본 사용 top 명령어는 대부분 옵션 없이 사용하지만…

  • [SEO] 구글 지식 패널 | 개요

    구글 지식 패널(Google Knowledge Panel)이란 크롬 앱 및 구글 이용자들이 기업, 사람, 장소, 인터넷 사이트, 사물과 단어 뜻 등의 다양한 항목을 검색했을 때 검색 엔진 결과 페이지(SERP) 우측에 표시되는 정보 상자입니다. 주로 구글링을 하게 되면 제일 많이 나오는 지식 패널은 위키피디아입니다. 지식 패널은 자동으로 생성되며, 지식 패널에 표시되는 정보의 출처는 웹 전체의 다양한…