Dlaczego?
W zależności od źródła najprawdopodobniej kompilator Intela lub zdecydowanie kompilator generujący najszybsze pliki wykonywalne dla architektury x86 (skrócenie czasu wykonywania o 5 do 100%).
Intel oferuje swoje kompilatory dla Linuksa na niekomercyjnej licencji za darmo (myślę, że czytałem, że jest on darmowy gdzieś na ich stronie: Intel - niekomercyjne tworzenie oprogramowania ). Istnieje również bezpłatna niekomercyjna licencja dla studentów, ale ta licencja nie ma zastosowania, chociaż narzędzia są oferowane dla wszystkich trzech głównych systemów operacyjnych (link utracony z powodu ograniczenia reputacji).
Cel
Ja (jako student niebędący studentem) chciałbym móc korzystać z kompilatorów Intel w celu poprawy wydajności w ramach licencji niekomercyjnej do kompilacji plików obiektów, które można połączyć w celu utworzenia plików wykonywalnych i bibliotek linków dynamicznych dla systemu Windows (i ewentualnie systemu operacyjnego) X)
Więcej szczegółów:
Z tego dokumentu wywnioskowałem, że kompilatory Intela tworzą pliki obiektowe, które są kompatybilne z dominującymi kompilatorami platformy.
Pytania cząstkowe:
- Jakie są formaty plików obiektowych gcc, g ++, cl, mingw32, icc, icpc i icl w systemach Windows i Linux (aktualne wersje)?
- Czy do osiągnięcia celu można wykorzystać części zestawu narzędzi kompilatora krzyżowego mingw32?
- Czy mam rację, że metadane w wygenerowanych plikach obiektowych są głównym problemem?
ad 2:
mingw32-objcopy wydaje się być w stanie przekonwertować dane wyjściowe kompilatora Intela w Linuksie (prawdopodobnie ELF) na COFF kompatybilny z Microsoftem (z możliwym wyjątkiem plików obiektów relokowalnych). Czy ktoś mógłby potwierdzić, że to rzeczywiście działa (w przypadku aplikacji nietypowych), proszę?