|

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

공정위 광고 문구 Ver 2.0

■ 컴파일이란?

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

  • 리눅스 프롬프트(Prompt)란?

    리눅스 셸에서 프롬프트는 CLI(커멘드 라인 인터페이스)의 명령줄 대기 모드를 뜻 합니다. 커맨드 프롬프트(command prompt) 또는 셸 프롬프트(shell prompt)로 불립니다. Command Prompt는 명령을 입력/발행할 수 있는 터미널 에뮬레이터(CLI)의 입력 필드입니다. 참조: 내 Linux 명령 Prompt는 무엇을 알려줍니까? ✅ 리눅스 프롬프트의 기본 이해 배포판이나 서비스에 따라 차이가 있을 수 있지만 기본 설정은 사용자의 이름, 호스트(서버…

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

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

  • 윈도우 서버: 원격 데스크톱 로컬 드라이브 공유 | 텍스트 복사 & 드라이브 공유

    원격 데스크톱으로 윈도우 서버에 접속하면서 로컬 PC와의 텍스트 복사 및 파일 공유 기능을 사용하여 작업을 할 수 있습니다. 원격 데스크톱 로컬 드라이브 공유 방법에 대해 알아 보겠습니다. ✅ 원격 데스크톱 로컬 드라이브 공유 시 기능 원격 데스크톱을 로컬 PC의 드라이브에 공유 시 사용할 수 있는 기능은 다음과 같습니다. ✅ 원격 데스크톱 로컬 드라이브…

  • 스냅샷과 백업 차이

    IT 업종을 포함한 기업의 데이터는 기업의 생존과 걸린 매우 중요한 사항입니다. 데이터 관리가 되지 않는다면 고객 신뢰 및 기업의 가치가 하락하는 경험을 할 수 있습니다. 대표적인 사례로 카카오 데이터 센터 화재를 들 수 있습니다. 리눅스 및 윈도우 서버 등에서 데이터를 보존하기 위한 방식으로 스냅샷(Snapshot)과 일반 백업(Backup) 크게 2가지를 들 수 있습니다. 각각 다른…

  • 셸 스크립트란? 셸과 셸 프롬프트&bash shell

    ▥ 셸 스크립트란(shell script)? 1. 셸이란? 키보드에 입력한 명령어를 운영체제에 전달해서 전달한 명령어를 실행하게 하는 프로그램이다. 2. 셸 프롬프트 셸 프롬프트는 셸이 입력 가능한 상태일 때에만 나타난다. 달러 ($)는 일반 유저일 때, 해쉬 표시(#)는 터미널 세션이 슈퍼 유저(superuser)의 권한을 가졌을 때 표시된다. (#)는 루트(root) 사용자 로그인 해서 관리자 권한을 가진 것을 의미한다. 3….

  • HDD SSD 차이 7가지

    HDD SSD 차이로 볼 수 있는 가장 보편적인 인식은 SSD가 더 작은 크기지만 HDD에 비해 더 빠른 성능을 보여주는 것이 가장 보편적인 특징이라고 할 수 있습니다. HDD와 SSD는 컴퓨터의 기본 구성 중에 보조 기억 장치에 속하게 됩니다. 보조 기억 장치는 주 기억 장치인 RAM보다 용량이 크지만 전원이 꺼져도 데이터를 유지하는 장점을 가지고 있습니다….