Kompilator C++ Linux

0

Witam!

Jaki kompilator C++ na linuxa(Ubuntu 14.04 LTS) byście polecili?

6

gcc 4.9/clang 3.5, bez znaczących różnic.

0

gcc

3

clang ftw.

1

Poczawszy od licencji przez wsparcie nowych featurow i generowany kod, a skonczywszy na dostarczanych narzedziach obecnie po prostu nie ma sobie rownych. - n0name_l

Jeśli ktoś chce korzystać z dobrodziejstw C++11 na linuxie to clang jest obecnie najlepszym wyborem

Nie sądze. Spójrzmy na to obiektywnym okiem.

  1. Ficzery. Zarówno gcc, msvc jak i clang obecnie w pełni wspierają C++11. Prawdą jest, że Clang posiada również pełny support dla C++14 (http://clang.llvm.org/cxx_status.html), jednak gcc nie pozostało przecież daleko w tyle; https://gcc.gnu.org/projects/cxx1y.html

  2. Generowany kod.
    Zgodze się, że największym atutem Clang-a jest czas kompilacji nierzadko 2x krótszy niż dla gcc, co widać choćby tutaj:
    http://www.phoronix.com/scan.php?page=article&item=gcc49_compiler_llvm35&num=2
    Jeśli czas budowania jest krytyczny, pełna zgoda, powinniśmy wybrać Clanga.
    Co do jakości, ciężko ocenić jednoznacznie, który kompilator generuje lepszy kod.
    Oba kompilatory potrafią aplikować nowoczesne metody optymalizacji takie jak Link Time Optimization czy Profile Guided Optimization.
    Na korzyść gcc przemawia np. b. dobry vectorizer potrafiący wektoryzować całkiem "złośliwe pętle":
    https://gcc.gnu.org/projects/tree-ssa/vectorization.html
    Polecam obejrzeć wyniki benchmarkowania z podanego już linka http://www.phoronix.com/scan.php?page=article&item=gcc49_compiler_llvm35&num=1. Czasami rządzi gcc czasami clang. Często są to różnice na poziomie błędu pomiarowego.

  3. Narzędzia.
    Nie wiem dokładnie co n0name_l miał na myśli, ale przecież narzędzia takie gdb, objdump, valgrind, perf etc w zupełności wystarczają:) Jakie ekstra toolsy dostanę w pakiecie z clangiem, których normalnie nie uświadczę pod linuksem? Zbugowane lldb?
    http://stackoverflow.com/questions/9707883/gdb-vs-lldb-debuggers

1 użytkowników online, w tym zalogowanych: 0, gości: 1