programa optimizadores opciones ejecutar compilar compiladores compilador compilacion como gcc compiler-construction naming-conventions cross-compiling

optimizadores - ¿Alguien puede explicar la convención de nombres de compiladores cruzados de gcc?



gcc linux (1)

La denominación se reduce a esto:

arch-vendor-(os-)abi

Así por ejemplo:

x86_64-w64-mingw32 = arquitectura x86_64 (= AMD64), w64 (= mingw-w64 como "proveedor"), mingw32 (= API win32 según lo visto por GCC)

i686-pc-msys = 32 bits (pc = nombre genérico) msys binario

i686-unknown-linux-gnu = GNU de 32 bits / linux

Y tu ejemplo específicamente:

arm-none-linux-gnueabi = ARM architecture, no vendor, linux OS y gnueabi ABI.

El arm-eabi es igual que usted dice, usado para aplicaciones nativas de Android.

Una advertencia: Debian usa un nombre diferente, solo para ser difícil, así que ten cuidado si estás en un sistema basado en Debian, ya que tienen diferentes nombres para, por ejemplo. i686-pc-mingw32 .

He tratado de entender las convenciones de nombres detrás de los compiladores cruzados de gcc, pero parece haber respuestas conflictivas. Tengo los siguientes tres compiladores cruzados en mi sistema:

  • arm-none-linux-gnueabi (compilador ARM CodeSourcery para Linux)
  • arm-none-eabi (compilador ARM CodeSourcery para sistemas de metal desnudo)
  • arm-eabi (compilador de Android ARM)

Al leer el manual de libtool de GNU, especifica la convención de nombres de compilador cruzado como:

cpu-vendor-os (os = sistema / kernel-system)

Esto no parece completamente exacto con los compiladores en mi sistema. ¿La información del manual de GNU es antigua o los distribuidores del compilador simplemente dejaron de seguirla?