|

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

■ 컴파일이란?

컴파일(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

  • 셔뱅(Shebang) [#! /bin/bash]

    shebang (셔뱅 또는 해시뱅)은 스크립트 파일의 첫 줄에 쓰이는 #!(해시 기호 + 느낌표)로 시작하는 구문입니다. 이 줄은 해당 스크립트를 어떤 인터프리터로 실행 할지를 지정합니다. 인터프리터(interpreter)는 프로그래밍 언어로 작성된 코드를 한 줄씩 읽고 즉시 실행하는 프로그램입니다. 이는 “작성된 명령을 번역해서 곧바로 실행해주는 번역기”라고 볼 수 있습니다. 보통 ASCII 텍스트 파일로 작성된 셸 스크립트에서 해시…

  • 3xx 리다이렉션: 3가지 유형 분류와 5가지 상태 코드

    상태코드란, 웹 서버가 클라이언트(브라우저 등)의 요청에 대해 어떤 결과였는지를 숫자로 알려주는 표준 응답 코드입니다. 이 중 3xx 상태코드는 리다이렉션 관련 응답으로, 요청의 방향을 재 정의한다는 의미를 가지고 있습니다. 즉, 서버가 브라우저에게 다른 URL로 이동하라고 지시하는 상태를 나타냅니다. 3xx 리다이렉션은 웹 서버가 클라이언트에게 요청한 자원이 다른 위치에 있으며, 그곳으로 이동하라고 안내하는 역할을 합니다. 이…

  • 웹이란(w3=www란)

    목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터1. 웹이란 무엇인가? w3=www 핸드폰이나 컴퓨터에서 구글 or 네이버 등 인터넷을 사용하면서 홈페이지 or 웹페이지 그리고 웹툰, 웹하드 등 웹에 관한 용어를 많이 들어 보셨을 겁니다. 그럼 웹이란 무언인가? 가끔 궁금하셨을 겁니다. ‘www’&’w3’ 불리기도 하는 웹(web)은 월드와이드웹(world wide web)의 줄임말 입니다. 2. www란? w3의…

  • opcache 설치 및 설정

    목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터▧ opcache 설치 및 설정 opcache 설치 및 설정’ 방법에 대해 …OS : CentOS7php 7.4opcache는 php 엑세스를 가속화하기 위한 것이다. 리눅스 서버의 공유된 메모리에서 php 문서 해석 시간을 줄여 서버의 응답 속도 및 부하를 줄여 성능을 향상 시킨다. Ⅰ. opcache 설치 및 설정 –…

  • 디스크 섹터란?

    본 의미는 분류, 기하학적으로 부채꼴을 뜻합니다. 디스크 섹터는 하드 디스크, 플로피, 플래시, 등의 저장 매체에서 특정 크기로 구분한 것을 의미합니다. 저장 장치의 물리적 위치를 의미하는 섹터는 데이터를 저장하는 영역으로 세분화 된다고 할 수 있습니다. 하드 디스크를 예로 들어 설명하기 전에 하드 디스크(Hard Disk Drive: HDD)는 SSD와 함께 지금도 사용되고 있는 비휘발성으로 순차 접근이…

  • yum 명령어 | 사용법 | 옵션 | yum-utils | 패키지 관리와 저장소 관리🔝

    레드햇 계열의 리눅스 배포판에서 사용하는 YUM 명령어는 패키지 관리(설치, 업데이트, 제거)를 하는데 사용하는 명령어입니다. yum은 기존 패키지 시스템인 RPM의 의존성 문제를 해결하기 위해 제공되는 도구이며, RPM에서 수행할 수 있는 많은 작업을 수행할 수 있습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터 ✅ YUM 명령어 yum 명령어의 기본 사용 방법은 다음과 같습니다….