Чому?
Залежно від вашого джерела, компілятор Intel, швидше за все, або, безумовно, компілятор, генеруючи найшвидші виконавчі файли для архітектури x86 (від 5 до 100% покращення часу виконання).
Intel пропонує свої компілятори для Linux за некомерційною ліцензією безкоштовно (я думаю, я читаю, що це безкоштовно десь на їхній сторінці: Intel - некомерційна розробка програмного забезпечення ). Існує також безкоштовна некомерційна ліцензія для студентів, але ця ліцензія не застосовується, хоча інструменти пропонуються для всіх трьох основних операційних систем (посилання відхилено через обмеження репутації).
Мета
Я (як не студент) хотів би мати можливість використовувати компілятори Intel для можливих поліпшень швидкості виконання згідно некомерційної ліцензії для компіляції об’єктних файлів, які можна пов’язати для створення виконавчих файлів та бібліотек динамічних посилань для Windows (і, можливо, ОС X)
Детальніше:
З цього документа я зробив висновок , що компілятори Intel створюють об’єктивні файли, сумісні з домінуючими компіляторами платформи.
Підпитання:
- Які формати файлів об'єктних файлів gcc, g ++, cl, mingw32, icc, icpc та icl для Windows та Linux (поточні версії)?
- Чи можуть бути використані частини ланцюжка інструментів крос-компілятора mingw32 для досягнення мети?
- Я правий, що метадані в створених файлах об'єктів є основною проблемою?
ad 2:
схоже, що mingw32-objcopy може перетворити вихід компілятора Intel на Linux (імовірно, ELF) у сумісний з Microsoft COFF (за винятком можливого виключення об'єктів, що переміщуються). Чи може хтось підтвердити, що це насправді працює (для нетривіальних додатків)?