|

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

■ 컴파일이란?

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

  • 구글 애드센스 CMP(동의 관리 플랫폼) | GDPR 및 CCPA사용자 동의 메시지 만들기

    구글 애드센스 CMP는 Consent Management Platform을 의미합니다. 2024년 1월 16일부터 EEA 및 영국 사용자에게 광고를 게재하는 모든 게시자는 Google에서 인증한 CMP(동의 관리 플랫폼)를 사용해야 합니다. CMP(동의 관리 플랫폼)은 웹사이트나 앱 방문자의 개인 정보 수집 및 이용에 대한 동의를 얻고 관리하는 도구입니다. 구글이 인증하는 CMP의 사용 목적은 ‘GDPR’ 및 ‘IAB TCF’ 그리고 ‘CCPA &…

  • [Linux] Shell 확장 6가지와 Shell 인용 3가지

    echo 명령어를 사용해서 Shell 확장(Expansion)에 대해 알아 보겠습니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터 1. Shell 확장 Shell 확장(Expansion)이란 셸에서 프로그램을 실행하기 직전 사용자가 입력한 인자를 정해진 의미에 맞게 해석해서 입력 or 출력으로 전환하는 것을 의미합니다. 프로그램은 echo를 포함한 명령어와 쉘에서 실행하는 모든 기능과 명령어들을 의미합니다. echo 명령어로 인수(or…

  • [SEO]내부 링크(Internal links): 효과적인 링크 구축을 위한 5가지 전략

    내부 링크란 내 웹사이트 내의 웹페이지에서 다른 웹페이지로 연결되는 하이퍼링크입니다. 다른 외부 사이트로 연결되는 외부 링크와는 다릅니다. SEO에서 내부 링크(Internal links)가 중요한 이유는 크게 3가지입니다. 목차■ 컴파일이란?Ⅰ. 컴파일링과 링킹Ⅱ. 컴파일을 하는 이유Ⅲ. 컴파일러 or 인터프리터 구글이 언급한 내부 링크의 중요성 웹사이트 방문자가 검색 등을 이용한 A페이지에 접속한 후에 B페이지로 이동 시키는 것이 Internal…

  • 덕덕고(DuckDuckGo) 검색엔진이란?

    덕덕고(DuckDuckGo)는 2008년 2월 29일 미국의 게이브리얼 와인버그(Gabriel Weinberg)가 만든 검색 엔진입니다. 덕덕고 검색엔진은 사용자의 개인 정보를 보호하며, 사용자의 개인 정보를 수집하거나 공유하지 않는 것을 특징으로 내세웁니다. 덕덕고 브라우저는 검색 기록을 남기지 않으며 비공개 검색, 추적 차단, 사이트 암호화를 내세우는 것을 아래 사진을 통해 알 수 있습니다. 검색한 검색어를 수집하지 않는 DDG(DuckDuckGo)는 구글 브라우저…

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

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

  • 리눅스 디바이스 드라이버 | 장치 파일(Device File) | /dev 디렉토리

    리눅스는 모든 것을 파일로 관리합니다. 리눅스에는 장치 파일(Device File)은 여러 프로그램에서 시스템에 설치된 하드웨어에 접근할 수 있게 하는 파일입니다. 디바이스를 구동하기 위해 리눅스 디바이스 드라이버가 필수 요구 사항입니다. 리눅스 시스템이 마우스 장치 파일을 참조해서 마우스의 조작을 하게 하거나 프린트의 출력 등을 담당하는 것을 생각할 수 있으며, 주로 스토리지를 마운트 하는데 많이 사용된다고 할…