Perché?
A seconda della fonte, il compilatore Intel è probabilmente o sicuramente il compilatore che genera gli eseguibili più veloci per l'architettura x86 (miglioramento del tempo di esecuzione dal 5 al 100%).
Intel offre gratuitamente i suoi compilatori per Linux con una licenza non commerciale (penso di averlo letto gratuitamente da qualche parte sulla loro pagina: Intel - Sviluppo di software non commerciale ). Esiste anche una licenza non commerciale gratuita per gli studenti, ma questa licenza non è applicabile sebbene vengano offerti strumenti per tutti e tre i principali sistemi operativi (link rilasciato a causa di una limitazione della reputazione).
Obbiettivo
Io (come non studente) vorrei essere in grado di utilizzare i compilatori Intel per possibili miglioramenti della velocità di esecuzione in base alla licenza non commerciale per compilare file oggetto che possono essere collegati per creare file eseguibili e librerie di collegamento dinamico per Windows (e possibilmente OS X)
Più dettagli:
Ciò che ho dedotto da questo documento è che i compilatori Intel creano file oggetto compatibili con i compilatori dominanti della piattaforma.
Sub-domande:
- Quali sono i formati di file oggetto di gcc, g ++, cl, mingw32, icc, icpc e icl su Windows e Linux (versioni correnti)?
- Parti della toolchain cross-compilatore mingw32 potrebbero essere utilizzate per raggiungere l'obiettivo?
- Ho ragione sul fatto che i metadati nei file oggetto generati sono il problema principale?
annuncio 2:
mingw32-objcopy sembra essere in grado di convertire l'output del compilatore Intel su Linux (presumibilmente ELF) in COFF compatibile con Microsoft (con la possibile eccezione dei file oggetto trasferibili). Qualcuno potrebbe confermare che questo funziona davvero (per applicazioni non banali), per favore?