Nowa wersja 9.1 kompilatora GCC została już wydana

kompilator-gcc-9.1

Ta nowa wersja kompilatora GCC został udostępniony kilka dni temu z nowymi funkcjami i poprawkami błędów.

Według zespołu projektowego GNU GCC ta nowa wersja wersja 9.1 jest główną wersją kompilatora Zawiera ważne nowe funkcje niedostępne w GCC 8.x lub wcześniejszych wersjach. GCC 9.1 powinno przynieść nowe funkcje językowe, nowe optymalizacje i pewne ulepszenia wydajności oprogramowania.

O GCC

GCC jest zbiorem kompilatora stworzony przez projekt GNU. Dokładniej mówiąc, jest to wolne oprogramowanie zdolny do kompilowania różnych języków programowania, w tym C, C ++, Objective-C, Java, Ada i Fortran.

Należy również zauważyć, że używane do tworzenia większości wolnego oprogramowania. Najnowsze główne wydanie kompilatora pochodzi z maja 2018 r. W wersji 8.1.

Jakub Jelinek, programista Red Hat, wyjaśnił, że GCC 8.1 to główne wydanie, które zawiera ważne nowe funkcje, które nie są dostępne w GCC 7.xi wcześniejszych wersjach GCC.

W tym momencie front-end C ++ zapewnia eksperymentalne wsparcie dla niektórych funkcji C ++ 2a z opcjami -std = c ++ 2a i -std = gnu ++ 2a.

W wersji 8.2 na ogólnym poziomie ulepszeń naprawiono problemy z wydajnością LTO (Link Time Optimization) spowodowane przepełnieniem algorytmu partycjonowania podczas tworzenia dużych plików binarnych.

Poprawki były kontynuowane w gałęzi 8.x wraz z wydaniem kompilatora 8.3 w lutym ubiegłego roku. To wydanie było wydaniem poprawiającym błędy, które zawierało łatki dla regresji w GCC 8.2 w porównaniu z wcześniejszymi wydaniami GCC. Zespół GCC uruchomił nową gałąź 3 maja, udostępniając wersję 9.

Co nowego w GCC 9.1?

W tej wersji Obsługa języka C ++ 17 wprowadzona, ponieważ kompilator w wersji 8.1 nie jest już używanyl. Dlatego obsługa C ++ 17 jest teraz stabilna.

Interfejs C ++ implementuje cały język C ++ 17 i obsługa standardowej biblioteki C ++ jest na ukończeniu.

El Biblioteka front-end i C ++ mają również wiele innych funkcji zakodowanych z C ++ 2a. Ponadto GCC ma nowy interfejs dla języka D i teraz częściowo obsługuje OpenMP 5.0 i prawie w pełni integruje obsługę OpenACC 2.5.

Dla wielu GCC 9 jest mocną wersją kompilatora, która zapewnia wspaniałe funkcje i ulepszenia poprawiające wydajność programistów.

Wśród wielu nowych funkcji w GCC 9.1 są:

  • Wsparcie dla kompilacji kodu napisanego w języku programowania D;
  • Do GCC dodano nowe zaplecze procesora graficznego AMD GCN. Implementacja jest obecnie ograniczona do kompilowania programów jednowątkowych.
  • LRA jest teraz domyślnie włączona dla celu ARC. Można to kontrolować za pomocą -mlra.
  • Dodano obsługę kodu obrazu oraz instrukcji gęstości gałęzi i indeksu.
  • Do GCC dodano nowy back-end ukierunkowany na procesory C-SKY V2.
  • Usunięto obsługę Intel MPX.
  • Dodano nowy backend do obsługi procesorów OpenRISC.
  • Obsługa specyfikacji OpenACC 2.5 jest prawie ukończona.
  • Wewnętrzny pakiet „selftest” GCC działa teraz dla C ++ i C (w wersjach kompilatora do debugowania).
  • Poprawiono także obsługę Fortran w GCC. Teraz obsługuje asynchroniczne operacje we / wy i inne funkcje.
  • Optymalizacje międzyprocesowe (OPI), optymalizacje oparte na profilach, optymalizacje czasu łącza (LTO), a także wiele innych optymalizacji zapewniających lepszą jakość kodu.
  • Całkowity czas kompilacji Firefoksa 66 i LibreOffice 6.2.3 na komputerze z 8 rdzeniami został skrócony o około 5% w porównaniu z GCC 8.3. Rozmiar plików obiektowych LTO został zmniejszony o 7%.
  • Czas łącza LTO poprawia się o 11% na maszynach z 8 rdzeniami i zmienia się dramatycznie w bardziej równoległych środowiskach konstrukcyjnych. Szeregowy etap optymalizacji czasu łącza jest o 28% szybszy i zużywa o 20% mniej pamięci. Etap równoległy dzieli teraz 128 partycji zamiast 32 i zmniejsza zużycie pamięci dla każdego użytkownika o 30%.
  • Nowa opcja „-fdiagnostics-format = json” została wprowadzona do diagnostyki w formacie do odczytu maszynowego.

źródło: https://gcc.gnu.org


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.