문제

크로스 컴파일이란 무엇입니까?

도움이 되었습니까?

해결책

크로스 컴파일 호스트라고 불리는 다른 시스템에서 하나의 컴퓨터 시스템 (종종 대상이라고 함)에 대한 코드를 컴파일하는 행위입니다.

예를 들어 대상 시스템이 너무 작아 컴파일러 및 모든 관련 파일을 호스팅하기에는 매우 유용한 기술입니다.

일반적인 예로는 많은 임베디드 시스템뿐만 아니라 일반적인 게임 콘솔도 포함됩니다.

다른 팁

"Cross Compile"은 Mac 또는 Windows 상자에서 실행하려는 의도가있는 Linux 상자에 소스를 컴파일하는 것입니다. 이것은 일반적으로 인터넷을 가로 지르는 다양한 웹 서버에서 쉽게 사용할 수있는 크로스 컴파일 플러그인을 사용하여 수행됩니다. Windows 상자 용으로 컴파일하도록 설계된 Linux 상자에 크로스 컴파일 플러그인을 설치하는 경우. 그런 다음 Linux/*Nix 상자를 컴파일하고 Windows 지원 실행 파일을 컴파일하고 연결하는 옵션이있을 수 있습니다. 이것은 단일 Linux/Windows/Mac Box에 액세스 할 수없는 프리랜서 프로그래머에게 매우 편리합니다. 다양한 크로스 컴파일 플러그인을 사용하면 다중 응용 프로그램이 허용되며, 일부는 유용한 것으로 인식하거나 유용하지 않을 수도 있으므로 플러그인의 readme 파일의 철저한 설명입니다.

크로스 컴파일 방법을 적용하고 싶다는 특정 프로젝트가 있습니까?

크로스 컴파일러는 한 아키텍처에서 다른 아키텍처로 소스 코드를 컴파일하는 것입니다.

예를 들어: hello.c

  1. gcc hello.c (GCC는 X86 아키텍처의 컴파일러입니다.)
  2. arm-cortexa8-linux-gnueabihf-gcc hello.c
    (Arm -.. 이 예에서 arm-cortexa8-linux-gnueabihf-gcc '크로스 컴파일러'라고합니다.

이 과정을 크로스 컴파일이라고합니다.
자세한 내용은 링크를 참조하십시오 크로스 컴파일

엄격한 의미에서, 그것은 다른 호스트에서 다른 호스트에서 실행하려는 코드의 편집입니다.

가장 일반적으로 호스트와 이진 호환되지 않는 아키텍처에 대한 편집과 관련하여 사용됩니다. 예를 들어 CISC CPU 플랫폼에 RISC 바이너리를 구축하거나 32 비트 시스템의 64 비트 바이너리. 또는 예를 들어, 인텔 PC 기반 OSS에서 내장 장치 (아마도 ARM CPU 아키텍처 사용)에서 실행하려는 펌웨어를 구축했습니다.

크로스 컴파일러 컴파일러가 실행중인 플랫폼 이외의 플랫폼에 대한 실행 가능한 코드를 작성할 수있는 컴파일러입니다.
예를 들어 Windows 7 PC에서 실행되지만 Android 스마트 폰에서 실행되는 코드를 생성하는 컴파일러는 크로스 컴파일러입니다.

하나의 기계에서 여러 플랫폼을 컴파일하려면 크로스 컴파일러가 필요합니다.
이 시스템에는 운영 체제가 포함되어 있지 않기 때문에 임베디드 시스템의 마이크로 컨트롤러와 같은 컴파일러가 실행할 수있는 플랫폼이 불가능할 수 있습니다.
Paravirtualization에서 하나의 기계는 많은 운영 체제를 실행하고 크로스 컴파일러는 하나의 기본 소스에서 각각에 대한 실행 파일을 생성 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top