프로그래머는 컴파일러를 사용하여 소스 코드를 기계 코드로 변환합니다.
컴퓨터는 이진법으로 작성된 기계어, 즉 0과 1의 긴 문자열에서 명령을 읽습니다. 컴퓨터는 이 언어를 효율적으로 읽을 수 있지만 대부분의 인간 프로그래머는 읽을 수 없습니다. 이것이 프로그래머가 이해할 수 있는 프로그래밍 언어로 작업한 다음 컴퓨터가 이해할 수 있는 기계어로 번역하는 이유입니다. 많은 최신 언어는 프로그램이 실행될 때 하나에서 다른 언어로 번역하는 인터프리터를 사용하지만 이전 언어는 프로그래밍 언어는 컴퓨터가 실행하기 전에 이 번역을 완전히 수행한 컴파일러를 사용했습니다. 프로그램.
장점: 독립형 및 능률
컴파일된 프로그램의 주요 이점 중 하나는 실행할 준비가 된 자체 포함된 단위라는 것입니다. 그것들은 이미 기계어 바이너리로 컴파일되어 있기 때문에 사용자가 최신 상태로 유지해야 하는 두 번째 애플리케이션이나 패키지가 없습니다. 프로그램이 x86 아키텍처에서 Windows용으로 컴파일된 경우 최종 사용자는 x86 아키텍처에서 실행되는 Windows 운영 체제만 있으면 됩니다. 또한 미리 컴파일된 패키지는 실시간으로 소스 코드를 컴파일하는 인터프리터보다 빠르게 실행할 수 있습니다.
오늘의 비디오
단점: 하드웨어 특정
컴파일러가 소스 코드를 특정 기계어로 번역하기 때문에 프로그램은 OS X, Windows 또는 Linux 및 32비트 또는 64비트용으로 특별히 컴파일됨 아키텍처. 가능한 한 가장 많은 청중에게 제품을 제공하려는 프로그래머 또는 소프트웨어 회사의 경우 동일한 응용 프로그램에 대해 여러 버전의 소스 코드를 유지 관리해야 합니다. 그 결과 소스 코드 유지 관리에 더 많은 시간이 소요되고 업데이트가 릴리스될 때 추가 문제가 발생합니다.
장점: 하드웨어 최적화
특정 하드웨어 패키지에 갇히면 단점이 있지만 프로그램을 컴파일하면 성능도 향상될 수 있습니다. 사용자는 프로그램이 실행될 하드웨어의 세부 사항과 관련하여 컴파일러에 특정 옵션을 보낼 수 있습니다. 이를 통해 컴파일러는 보다 일반적인 코드와 달리 지정된 하드웨어를 가장 효율적으로 사용하는 기계어 코드를 생성할 수 있습니다. 이것은 또한 고급 사용자가 자신의 컴퓨터에서 프로그램의 성능을 최적화할 수 있도록 합니다.
단점: 컴파일 시간
컴파일러의 단점 중 하나는 실제로 소스 코드를 컴파일해야 한다는 것입니다. 많은 초보 프로그래머가 코딩하는 작은 프로그램은 컴파일하는 데 사소한 시간이 걸리지만 더 큰 응용 프로그램 제품군은 컴파일하는 데 상당한 시간이 걸릴 수 있습니다. 프로그래머가 컴파일러가 완료될 때까지 기다리는 것 외에는 할 일이 없으면 이 시간이 늘어날 수 있습니다. 특히 기능을 테스트하고 문제를 해결하기 위해 코드를 컴파일해야 하는 개발 단계 결함.