Por quê?
Dependendo da sua fonte, o compilador Intel é provável ou definitivamente o compilador que gera os executáveis mais rápidos para a arquitetura x86 (melhoria de 5 a 100% no tempo de execução).
A Intel oferece seus compiladores para Linux sob uma licença não comercial de graça (acho que li em algum lugar da página: Intel - Desenvolvimento de software não comercial ). Também existe uma licença não comercial gratuita para estudantes, mas essa licença não é aplicável, embora sejam oferecidas ferramentas para os três principais sistemas operacionais (o link caiu devido à restrição de reputação).
Objetivo
Eu (como não estudante) gostaria de poder usar os compiladores Intel para possíveis melhorias na velocidade de execução sob a licença não comercial para compilar arquivos de objetos que podem ser vinculados para criar bibliotecas executáveis e de vínculo dinâmico para Windows (e possivelmente SO X)
Mais detalhes:
O que deduzi deste documento é que os compiladores da Intel criam arquivos de objetos que são compatíveis com os compiladores dominantes da plataforma.
Sub-perguntas:
- Quais são os formatos de arquivo objeto de gcc, g ++, cl, mingw32, icc, icpc e icl no Windows e Linux (versões atuais)?
- Partes da cadeia de ferramentas do compilador cruzado mingw32 poderiam ser usadas para atingir o objetivo?
- Estou certo de que os metadados nos arquivos de objetos gerados são o principal problema?
anúncio 2: o
mingw32-objcopy parece capaz de converter a saída do compilador Intel no Linux (provavelmente ELF) em COFF compatível com a Microsoft (com a possível exceção de arquivos de objetos realocáveis). Alguém poderia confirmar que isso realmente funciona (para aplicativos não triviais), por favor?