|

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

■ 컴파일이란?

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

  • Rsync 명령어: 옵션 | 사용 예시

    Rsync 명령어는 Remote sync의 줄임말로 원격에서 로컬, 로컬에서 로컬로의 파일 및 디렉토리를 복사하는 프로그램입니다. rsync에는 두 가지 접속 방법이 있는데 SSH를 통해 접속하는 방법과 rsync 데몬을 통해 접속하는 방법입니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터 ✅ rsync의 두 가지 접속 방법 🔲 SSH 사용 SSH를 통한 접속(: 사용)은 [rsync…

  • ECC DDR3 서버용 램 표기: 2Rx8 PC3L-12800E

    서버나 워크스테이션에서 사용되는 ECC DDR3 램은 일반 소비자용 메모리와는 다른 표기법이 사용됩니다. 예를 들어, 2Rx8 PC3L-12800E 같은 표기는 RAM의 구조, 전압, 속도, ECC 지원 여부 등을 한눈에 나타냅니다. 이 글에서는 2Rx8, PC3L, 12800E, ECC 등의 의미를 쉽게 풀어 설명하고, RAM 호환성과 성능에 미치는 영향까지 정리합니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러…

  • 업데이트 업그레이드 차이

    윈도우나 리눅스 외에 IT 업종에 종사하지 않더라도 각종 소프트웨어를 사용하게 되면 update와 upgrade 두 가지 단어를 자연스럽게 접하게 됩니다. 영어 단어 업데이트(update)와 업그레이드(upgrade)는 익숙하며, 컴퓨터와 기계, 전자 제품 및 앱에서 접하는 단어의 차이에 대해 알아 보겠습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터✅ 업데이트(update) 뜻 update의 영어 단어의 의미는 갱신…

  • 리눅스 CPU/RAM/디스크 및 OS 정보 확인하기

    리눅스에서 사용 중인 서버의 정보 확인이 필요한 경우가 있습니다. 간단하게 리눅스 CPU/RAM/디스크 정보를 확인할 수 있는 방법을 명령어를 이용해서 알아 보겠습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터✅ 리눅스 CPU 정보 확인 명령어 1. cat /proc/cpuinfo 2. CPU 전체 개수와 물리 CPU 갯수 확인하기 3. 하이퍼 스레딩(Hyper Threading) 적용 확인…

  • bash: 셸 따옴표 및 셸 쌍따옴표

    bash 및 셸 프로그램에서 명령어를 치환하는데 ‘$’ 기호와 소괄호'()’를 사용하는 대신 따옴표 기호도 사용합니다. 치환은 수식의 어떤 부분에 그와 대등한 무언가로 바꿔 넣는 행위입니다. ‘셸 따옴표’와 ‘셸 쌍따옴표’의 기본 공통 사항은 확장을 제어하는데 활용된다는 것입니다. 여기에서 차이점은 셸 따옴표는 모든 확장을 제어하지만 셸 쌍따옴표는 3개의 기호를 제외하게 됩니다. 셸 쌍따옴표 제외 기호: $…

  • 리눅스 file 명령어

    리눅스 file 명령어는 그 파일이 어떤 파일인지 확인하는데 사용되는 명령으로 파일의 파일 타입을 확인할 때 사용합니다. 확인할 수 있는 파일은 텍스트 파일(ASCII 텍스트), 바이너리 파일, 그림 파일 및 동영상 등입니다. 단순하게 파일의 확장자만 확인하는 것이 아닌 파일의 매직파일(usr/local/magic)의 내용을 참조하여 파일 종류를 표시해 줍니다. magic 파일은 특정 파일의 형식을 식별하기 위한 정보를 담고…