Η νέα έκδοση 9.1 του μεταγλωττιστή GCC έχει ήδη κυκλοφορήσει

gcc-μεταγλωττιστής-9.1

Αυτή η νέα έκδοση του μεταγλωττιστή GCC διατέθηκε πριν από λίγες ημέρες με νέες δυνατότητες και διορθώσεις σφαλμάτων.

Σύμφωνα με την ομάδα έργου GNU GCC, αυτή η νέα έκδοση, Η έκδοση 9.1 είναι μια σημαντική έκδοση μεταγλωττιστή Περιέχει σημαντικές νέες δυνατότητες που δεν είναι διαθέσιμες στο GCC 8.x ή σε παλαιότερες εκδόσεις. Το GCC 9.1 πρέπει να φέρει νέες δυνατότητες γλώσσας, νέες βελτιστοποιήσεις και κάποιες βελτιώσεις απόδοσης στο λογισμικό.

Σχετικά με το GCC

GCC είναι μια συλλογή μεταγλωττιστών δημιουργήθηκε από το έργο GNU. Είναι ακριβώς ένα δωρεάν λογισμικό ικανός να συγκεντρώσει διάφορες γλώσσες προγραμματισμού, όπως C, C ++, Objective-C, Java, Ada και Fortran.

Πρέπει επίσης να σημειωθεί ότι χρησιμοποιείται για την ανάπτυξη του περισσότερου ελεύθερου λογισμικού. Η τελευταία μεγάλη έκδοση του μεταγλωττιστή χρονολογείται από τον Μάιο του 2018, έκδοση 8.1.

Ο Jakub Jelinek, ένας προγραμματιστής της Red Hat, εξήγησε ότι το GCC 8.1 αντιπροσωπεύει μια σημαντική έκδοση που φέρνει σημαντικές νέες δυνατότητες που δεν είναι διαθέσιμες στο GCC 7.x και σε παλαιότερες εκδόσεις του GCC.

Σε αυτό το σημείο, το C ++ front-end παρέχει πειραματική υποστήριξη για ορισμένες λειτουργίες C ++ 2a με τις επιλογές -std = c ++ 2a και -std = gnu ++ 2a.

Στην έκδοση 8.2 στο γενικό επίπεδο βελτίωσης, έχουν επιλυθεί ζητήματα απόδοσης LTO (βελτιστοποίηση χρόνου σύνδεσης) λόγω υπερχείλισης στον αλγόριθμο διαμέρισης κατά τη δημιουργία μεγάλων δυαδικών αρχείων.

Οι επιδιορθώσεις συνεχίστηκαν στον κλάδο 8.x με την κυκλοφορία της έκδοσης του μεταγλωττιστή 8.3 τον περασμένο Φεβρουάριο. Αυτή η έκδοση ήταν μια έκδοση επιδιόρθωσης σφαλμάτων που περιείχε ενημερώσεις κώδικα για παλινδρόμηση στο GCC 8.2 σε σύγκριση με προηγούμενες εκδόσεις του GCC. Η ομάδα του GCC ξεκίνησε ένα νέο υποκατάστημα στις 3 Μαΐου, κυκλοφόρησε την έκδοση 9.

Τι νέο υπάρχει στο GCC 9.1;

Σε αυτήν την έκδοση, Η υποστήριξη C ++ 17 εισήχθη καθώς η έκδοση 8.1 του μεταγλωττιστή δεν είναι πλέον έμπειρημεγάλο. Επομένως, η υποστήριξη για το C ++ 17 είναι πλέον σταθερή.

Η διεπαφή του Το C ++ εφαρμόζει ολόκληρη τη γλώσσα του C ++ 17 και η υποστήριξη για την τυπική βιβλιοθήκη C ++ πλησιάζει στην ολοκλήρωση.

El Η βιβλιοθήκη front-end και C ++ έχει επίσης πολλές άλλες κωδικοποιημένες δυνατότητες C ++ 2a. Επίσης, το GCC έχει μια νέα διεπαφή για τη γλώσσα D και τώρα υποστηρίζει μερικώς το OpenMP 5.0 και ενσωματώνει σχεδόν πλήρως την υποστήριξη για το OpenACC 2.5.

Για πολλούς, το GCC 9 είναι μια ισχυρή έκδοση του μεταγλωττιστή που παρέχει εξαιρετικές δυνατότητες και βελτιώσεις για τη βελτίωση της απόδοσης του προγραμματιστή.

Μεταξύ των πολλών νέων δυνατοτήτων στο GCC 9.1 είναι:

  • Υποστήριξη για υποστήριξη για τη σύνταξη κώδικα γραμμένο με τη γλώσσα προγραμματισμού D.
  • Προστέθηκε ένα νέο backend AMD GCN GPU στο GCC. Η υλοποίηση περιορίζεται προς το παρόν στη συλλογή προγραμμάτων με ένα νήμα.
  • Το LRA είναι πλέον ενεργοποιημένο από προεπιλογή για τον στόχο ARC. Αυτό μπορεί να ελεγχθεί από το -mlra.
  • Προστέθηκε υποστήριξη για δηλώσεις κωδικού εικόνας και κλάδου και δείκτη πυκνότητας
  • Προστέθηκε στο GCC ήταν η προσθήκη ενός νέου back-end που στοχεύει C-SKY V2 επεξεργαστές.
  • Η υποστήριξη Intel MPX καταργήθηκε.
  • Προστέθηκε ένα νέο backend για υποστήριξη επεξεργαστών OpenRISC.
  • Η υποστήριξη για την προδιαγραφή OpenACC 2.5 είναι σχεδόν πλήρης.
  • Το εσωτερικό πακέτο "selftest" του GCC λειτουργεί τώρα για C ++ και C (σε εκδόσεις εντοπισμού σφαλμάτων του μεταγλωττιστή).
  • Η υποστήριξη Fortran στο GCC έχει επίσης βελτιωθεί. Τώρα χειρίζεται ασύγχρονα I / O και άλλα χαρακτηριστικά.
  • Βελτιστοποιήσεις Interprocedure (OPI), βελτιστοποιήσεις βάσει προφίλ, βελτιστοποιήσεις χρόνου σύνδεσης (LTO), καθώς και πολλές άλλες βελτιστοποιήσεις για τη διασφάλιση καλύτερης ποιότητας κώδικα.
  • Ο συνολικός χρόνος μεταγλώττισης των Firefox 66 και LibreOffice 6.2.3 σε μια μηχανή 8 πυρήνων έχει μειωθεί κατά περίπου 5% σε σύγκριση με το GCC 8.3. Το μέγεθος των αρχείων αντικειμένων LTO μειώνεται κατά 7%.
  • Ο χρόνος σύνδεσης LTO βελτιώνεται κατά 11% σε μηχανήματα 8 πυρήνων και εξελίσσεται δραματικά για πιο παράλληλα περιβάλλοντα κατασκευής. Το σειριακό στάδιο βελτιστοποίησης χρόνου σύνδεσης είναι 28% ταχύτερο και καταναλώνει 20% λιγότερη μνήμη. Το Parallel Stage χωρίζει τώρα 128 κατατμήσεις αντί για 32 και μειώνει τη χρήση μνήμης για κάθε χρήστη κατά 30%.
  • Μια νέα επιλογή "-fdiagnostics-format = json" έχει εισαχθεί για τη διάγνωση σε μορφή αναγνώσιμη από μηχανή.

πηγή: https://gcc.gnu.org


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.