Кросс-компилятор: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
MastiBot (обсуждение | вклад) м r2.7.3) (бот удалил: fr:Compilateur#Compilateur croisé |
мНет описания правки |
||
(не показано 6 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
⚫ | '''Кросс-компиля́тор''' ({{lang-en|cross compiler}}) — [[компилятор]], производящий [[исполняемый код]] для платформы, отличной от той, на которой исполняется сам кросс-компилятор. Такой инструмент бывает полезен, когда нужно получить код для платформы, экземпляров которой нет в наличии, или в случаях, когда компиляция на целевой платформе невозможна или нецелесообразна (например, это касается мобильных систем или микроконтроллеров с минимальным объёмом памяти). |
||
⚫ | |||
⚫ | '''Кросс-компиля́тор''' ({{lang-en|cross compiler}}) — [[компилятор]], производящий [[исполняемый код]] для платформы, отличной от той, на которой исполняется сам кросс-компилятор. Такой инструмент бывает полезен, когда нужно получить код для платформы, экземпляров которой нет в наличии, или в случаях когда компиляция на целевой платформе невозможна или нецелесообразна (например, это касается мобильных систем или микроконтроллеров с минимальным объёмом памяти). |
||
Пример кросс-компилятора — [[MinGW]] [[GCC]] с опцией <tt>-mno-cygwin</tt>. С этой опцией он может в среде [[Cygwin]] создавать код, использующий только «родные» библиотеки Windows. |
Пример кросс-компилятора — [[MinGW]] [[GCC]] с опцией <tt>-mno-cygwin</tt>. С этой опцией он может в среде [[Cygwin]] создавать код, использующий только «родные» библиотеки Windows. |
||
Строка 7: | Строка 6: | ||
[[GCC]], набор компиляторов для различных языков программирования, может быть использован для кросс-компиляции. |
[[GCC]], набор компиляторов для различных языков программирования, может быть использован для кросс-компиляции. |
||
Для кросс-компиляции с GCC необходимо, чтобы была доступна скомпилированная для целевой платформы версия [[binutils]]. Особенно важно наличие [[GNU Assembler]]. Поэтому binutils должны быть предварительно скомпилированы с ключом <code>--target=some-target</code>, указанным {{не переведено| |
Для кросс-компиляции с GCC необходимо, чтобы была доступна скомпилированная для целевой платформы версия [[binutils]]. Особенно важно наличие [[GNU Assembler]]. Поэтому binutils должны быть предварительно скомпилированы с ключом <code>--target=some-target</code>, указанным {{не переведено|Скрипт конфигурирования|скрипту конфигурирования|en|Configure script}}. GCC также должна быть указана опция <code>--target</code> с аналогичным содержанием. После этого, чтобы GCC мог использовать полученные binutils, надо поместить путь к ним в [[Переменные среды|переменную среды]] [[Путь к файлу|path]], например: |
||
<source lang=bash> |
<source lang=bash> |
||
PATH=/path/to/binutils/bin:${PATH} make |
PATH=/path/to/binutils/bin:${PATH} make |
||
Строка 16: | Строка 15: | ||
{{compu-soft-stub}} |
{{compu-soft-stub}} |
||
⚫ | |||
[[Категория:Компиляторы]] |
[[Категория:Компиляторы]] |
||
[[cs:Křížový překladač]] |
|||
[[de:Cross-Compiler]] |
|||
[[en:Cross compiler]] |
|||
[[es:Compilador cruzado]] |
|||
[[fa:ترجمه دوگانه]] |
|||
[[hy:Խաչաձև կազմարկիչ]] |
|||
[[it:Cross-compilazione]] |
|||
[[ja:クロスコンパイラ]] |
|||
[[pl:Kompilator skrośny]] |
|||
[[pt:Compilador cruzado]] |
|||
[[tr:Çapraz derleyiciler]] |
|||
[[uk:Крос-компілятор]] |
|||
[[zh:交叉編譯器]] |
Текущая версия от 05:47, 10 декабря 2023
Кросс-компиля́тор (англ. cross compiler) — компилятор, производящий исполняемый код для платформы, отличной от той, на которой исполняется сам кросс-компилятор. Такой инструмент бывает полезен, когда нужно получить код для платформы, экземпляров которой нет в наличии, или в случаях, когда компиляция на целевой платформе невозможна или нецелесообразна (например, это касается мобильных систем или микроконтроллеров с минимальным объёмом памяти).
Пример кросс-компилятора — MinGW GCC с опцией -mno-cygwin. С этой опцией он может в среде Cygwin создавать код, использующий только «родные» библиотеки Windows.
Кросс-компиляция с gcc
[править | править код]GCC, набор компиляторов для различных языков программирования, может быть использован для кросс-компиляции.
Для кросс-компиляции с GCC необходимо, чтобы была доступна скомпилированная для целевой платформы версия binutils. Особенно важно наличие GNU Assembler. Поэтому binutils должны быть предварительно скомпилированы с ключом --target=some-target
, указанным скрипту конфигурирования[англ.]. GCC также должна быть указана опция --target
с аналогичным содержанием. После этого, чтобы GCC мог использовать полученные binutils, надо поместить путь к ним в переменную среды path, например:
PATH=/path/to/binutils/bin:${PATH} make
Ссылки
[править | править код]- Cross compiling with GCC (англ.)
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |
В другом языковом разделе есть более полная статья Cross compiler (англ.). |