¿Por qué?
Dependiendo de su fuente, el compilador Intel es probable o definitivamente el compilador que genera los ejecutables más rápidos para la arquitectura x86 (mejora del tiempo de ejecución del 5 al 100%).
Intel ofrece sus compiladores para Linux bajo una licencia no comercial de forma gratuita (creo que he leído que es gratis en algún lugar de su página: Intel - Desarrollo de software no comercial ). También hay una licencia no comercial gratuita para los estudiantes, pero esta licencia no es aplicable, aunque se ofrecen herramientas para los tres principales sistemas operativos (enlace eliminado debido a la restricción de reputación).
Objetivo
A mí (como no estudiante) me gustaría poder usar los compiladores Intel para posibles mejoras en la velocidad de ejecución bajo la licencia no comercial para compilar archivos de objetos que se pueden vincular para crear ejecutables y bibliotecas de enlaces dinámicos para Windows (y posiblemente SO X)
Más detalles:
Lo que deduje de este documento es que los compiladores de Intel crean archivos de objetos que son compatibles con los compiladores dominantes de la plataforma.
Sub-preguntas:
- ¿Cuáles son los formatos de archivo de objetos de gcc, g ++, cl, mingw32, icc, icpc e icl en Windows y Linux (versiones actuales)?
- ¿Se podrían utilizar partes de la cadena de herramientas de compilación cruzada mingw32 para lograr el objetivo?
- ¿Tengo razón en que los metadatos en los archivos de objetos generados son el problema principal?
anuncio 2:
mingw32-objcopy parece ser capaz de convertir la salida del compilador Intel en Linux (presumiblemente ELF) a COFF compatible con Microsoft (con la posible excepción de archivos de objetos reubicables). ¿Podría alguien confirmar que esto realmente funciona (para aplicaciones no triviales), por favor?