Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός Υπολογιστών Γλώσσες

Ποιοι είναι οι διάφοροι τύποι μεταγλωττιστών που χρησιμοποιούνται στους υπολογιστές;

Τύποι μεταγλωττιστών:

Οι μεταγλωττιστές είναι προγράμματα λογισμικού που μεταφράζουν τον κώδικα γραμμένο σε μια γλώσσα προγραμματισμού υψηλού επιπέδου σε κώδικα μηχανής που ένας υπολογιστής μπορεί να κατανοήσει και να εκτελέσει. Υπάρχουν διάφοροι τύποι μεταγλωττιστών, που κατηγοριοποιούνται από την προσέγγιση, την πλατφόρμα στόχων και τις τεχνικές βελτιστοποίησης.

από την προσέγγιση:

* Στοιχεία μίας περάσματος: Αυτοί οι μεταγλωττιστές επεξεργάζονται τον πηγαίο κώδικα σε ένα μόνο δελτίο, δημιουργώντας απευθείας κωδικός μηχανής. Αυτό είναι ταχύτερο αλλά λιγότερο ευέλικτο και μπορεί να μην είναι κατάλληλο για σύνθετες γλώσσες.

* Στοιχεία πολλαπλών περάσματος: Αυτοί οι μεταγλωττιστές επεξεργάζονται τον πηγαίο κώδικα πολλές φορές, εκτελώντας διαφορετικές εργασίες όπως η λεξική ανάλυση, η ανάλυση σύνταξης και η βελτιστοποίηση κώδικα σε κάθε δελτίο. Αυτό επιτρέπει την καλύτερη ανίχνευση και βελτιστοποίηση σφαλμάτων.

* Cross-Compilers: Αυτοί οι μεταγλωττιστές μεταφράζουν τον πηγαίο κώδικα για μια συγκεκριμένη πλατφόρμα σε κώδικα μηχανής για διαφορετική πλατφόρμα. Αυτό είναι χρήσιμο για την ανάπτυξη λογισμικού για ενσωματωμένα συστήματα ή διαφορετικά λειτουργικά συστήματα.

* Μόνο-σε χρόνο (JIT) μεταγλωττιστές: Αυτοί οι μεταγλωττιστές μεταφράζουν τον κώδικα κατά το χρόνο εκτέλεσης, καταρτίζοντας τον λίγο πριν την εκτέλεση. Αυτό παρέχει ευελιξία και μπορεί να βελτιστοποιήσει τον κώδικα με βάση τις συνθήκες χρόνου εκτέλεσης.

από την πλατφόρμα στόχου:

* Ιθαγενείς μεταγλωττιστές: Αυτοί οι μεταγλωττιστές δημιουργούν κωδικό μηχανής για την ίδια πλατφόρμα στην οποία εκτελούνται.

* Cross-Compilers: Αυτοί οι μεταγλωττιστές δημιουργούν κώδικα μηχανής για διαφορετική πλατφόρμα από αυτή που εκτελούνται.

με τεχνικές βελτιστοποίησης:

* Βελτιστοποίηση μεταγλωττιστών: Αυτοί οι μεταγλωττιστές προσπαθούν να βελτιώσουν την απόδοση του παραγόμενου κώδικα μειώνοντας το μέγεθος του κώδικα, τον χρόνο εκτέλεσης και τη χρήση μνήμης.

* Στοιχεία εντοπισμού σφαλμάτων: Αυτοί οι μεταγλωττιστές δημιουργούν κώδικα που είναι ευκολότερο να εντοπίσει σφάλμα, συμπεριλαμβανομένων των πινάκων συμβόλων και άλλων πληροφοριών εντοπισμού σφαλμάτων.

* Συλλογές προφίλ: Αυτοί οι μεταγλωττιστές συλλέγουν δεδομένα σχετικά με την εκτέλεση του προγράμματος για τον προσδιορισμό των σημείων συμφόρησης απόδοσης και τη βελτιστοποίηση του κώδικα ανάλογα.

Άλλες ταξινομήσεις:

* Συγκριτές bootstrapping: Αυτοί οι μεταγλωττιστές είναι γραμμένοι σε γλώσσα υψηλότερου επιπέδου, αλλά τελικά μεταφέρονται με τον κώδικα μηχανής για μια συγκεκριμένη πλατφόρμα προορισμού. Χρησιμοποιούνται για να συντάξουν τον ίδιο τον μεταγλωττιστή.

* Σχετικά με συγκεκριμένη γλώσσα: Κάθε γλώσσα προγραμματισμού έχει το δικό της μεταγλωττιστή σχεδιασμένο για τη συγκεκριμένη σύνταξη και σημασιολογία του.

Παραδείγματα μεταγλωττιστών:

* GCC: Ένας ευρέως χρησιμοποιούμενος μεταγλωττιστής για C, C ++, Objective-C, Fortran και άλλες γλώσσες.

* clang: Ένας σύγχρονος μεταγλωττιστής για C, C ++, Objective-C και Objective-C ++.

* Compiler Microsoft Visual C ++: Ένας μεταγλωττιστής για C και C ++ που χρησιμοποιείται στο Microsoft Visual Studio.

* Compiler Java (Javac): Συγκεντρώνει τον πηγαίο κώδικα Java στο Java Bytecode.

* Compiler Python (Pypy): Ένας μεταγλωττιστής Just-in-Time (JIT) για την Python.

Ο συγκεκριμένος τύπος μεταγλωττιστή που χρησιμοποιείται εξαρτάται από τη γλώσσα προγραμματισμού, την πλατφόρμα στόχου και τα επιθυμητά χαρακτηριστικά απόδοσης. Η κατανόηση των διαφορετικών τύπων μεταγλωττιστών μπορεί να σας βοηθήσει να επιλέξετε το πιο κατάλληλο για τις ανάγκες σας.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα