Dlaczego GCC? Nie lepiej MSVC?

GCC i MSVC to są dwa najpopularniejsze kompilatory* C/C++. Pierwszy, którego twórcą jest Free Software Foundation, Inc. i drugi napisany przez firmę Microsoft. Zainspirowany rozmową ze znajomym postanowiłem przeprowadzić testy optymalizacji i wydajności kodu oraz niektórych części biblioteki standardowej. Optymalizacja kodu nie jest wcale taka prosta jakby to mogło się wydawać, zwłaszcza, że konkretne przypadki trzeba z góry przewidzieć i napisać dobry algorytm – kod przecież nie jest kompilowany przez istotę inteligentną! Zdarza się wygenerować taki kod jak np.

*Niektórzy mogą się wspierać, iż gcc nie kompiluje C++. Nieprawda (flaga -lstdc++ w opcjach linkera). GCC jest skrótem od GNU Compiler Collection (najpopularniejsze polecenie to g++, choć można używać np. c++ :)). Podobnie jest z MSVC – MicroSoft Visual C++ – a polecenie – cl. Continue reading “Dlaczego GCC? Nie lepiej MSVC?” »