정의 ABC의 개념
잡집 / / July 04, 2021
Guillem Alsina González, 9 월 2017
공통 언어가없는 사람과 어떻게 어울릴 수 있습니까? 번역기를 통해. 이 번역 기능은 컴파일러 변화하다 암호 프로그래머가 작성한 실행 가능한 소스 코드.
컴파일은 고급 언어로 작성된 프로그램이 실행을 위해 특정 컴퓨터 아키텍처에서 사용하는 기계어 코드로 변환 곧장.
따라서 방금 제안한 설명에 따라이 시스템은 건축물 각 경우마다 다를 수 있으며 프로그램이 실행되기를 원하는 서로 다른 아키텍처 각각에 대해 별도로 컴파일해야합니다.
따라서 예를 들어 32 비트 x86 아키텍처를위한 특정 프로그램 인 64 비트 x86, PowerPC 또는 ARM은 또한 우리가 원하는 장치 유형에 따라 32 비트와 64 비트를 차별화합니다. 그것을 실행하십시오.
또한 동일한 플랫폼에서 작업하더라도 다른 운영 체제도 고려해야합니다. 하드웨어, 각각은 물리적 시스템과 상호 작용하는 방식이 다르기 때문에
x86 64 비트 플랫폼을 예로 들어 보겠습니다. 우리는 컴파일하고 싶을 수 있습니다. 윈도우, GNU / Linux 또는 macOS, 또는 각각에 대해 세 가지 별도의 컴파일 프로세스를 의미합니다.
때로는 이로 인해 소스 코드를 약간 조정해야하며 종종 세 가지 버전 (또는 그 이상, 대상 플랫폼의 특성 및 차이점과 올바르게 상호 작용할 수 있습니다.
컴파일 프로세스는 소스 코드에서 구문 오류 감지와 같은 일련의 단계를 따른 다음 프로그램에 필요한 리소스를 알기 위해 사전 처리되었으며 마지막으로 필요한 라이브러리 및 리소스와의 링크 실행.
이런 식으로 파일 모두를 포함하는 실행 파일 자원 실행에 필요한 정보와 공유 코드 라이브러리와 같은 외부 리소스에 액세스하는 데 필요한 지침 (공유).
컴파일 프로세스는 특정 도구 (컴파일러)로 수행됩니다. 이것이 개발 환경 (IDE)에 통합되는 것이 일반적이지만 그것의 사용.
각 언어 프로그램 작성 자체 컴파일러를 가지고 있지만 언어와 환경에 대응하는 컴파일러는 오랫동안 다양한 플랫폼에 대한 실행 파일을 생성 할 수 있습니다. 소프트웨어 다른.
빌드 프로세스에 대한 대체 옵션이 있습니까? 예, 통역 언어입니다.
해석되는 언어는 런타임에 번역되고 컴파일되지 않은 언어입니다.
따라서 소스 코드는 항상 사용할 수 있으며 필요한 것은 운영 체제 그들이 실행되는 곳에는 통역사가 있습니다.
컴파일 프로세스를 피함으로써 인터프리터를 여러 플랫폼에서 사용할 수있는 경우 일반적으로 변경하지 않고 각각에서 직접 프로그램을 실행할 수 있습니다.
다른 초점 컴파일 된 언어와 해석 된 언어의 중간에있는 대안은 가상 머신을 실행해야하는 언어입니다 (예: Java).
가상화 계층 (가상 머신) 위에서 실행되는 프로그래밍 언어에는 다음과 유사한 중간 프로세스가 필요합니다. 컴파일이 가능하지만 언어에 의해 실행되는 것보다 더 최적화되어 있지만 직접 실행할 수없는 코드가 생성됩니다. 해석.
이 경우 컴파일과 유사한 형태의 프로세스가 필요하지만 다른 결과를 제공하며 어떤 경우에도 여전히 설치 의 실행 시간 프로그램을 실행하려는 운영 체제에서
사진: Fotolia-Alexander Pokusay / Onot
편집 주제