Έννοια στον ορισμό ABC
Miscellanea / / July 04, 2021
Του Guillem Alsina González, το Σεπτέμβριο 2017
Πώς μπορούμε να συναντηθούμε με κάποιον με τον οποίο δεν έχουμε κοινή γλώσσα; Μέσω μεταφραστή. Αυτή η λειτουργία μετάφρασης είναι αυτό που αποδίδει μεταγλωττιστής να μετατραπεί σε κώδικας εκτελέσιμος πηγαίος κώδικας γραμμένος από προγραμματιστή.
Η συλλογή είναι η διαδικασία με την οποία ένα πρόγραμμα είναι γραμμένο σε γλώσσα υψηλού επιπέδου μεταφράζεται στον κωδικό του μηχανήματος που χρησιμοποιείται από μια συγκεκριμένη αρχιτεκτονική υπολογιστών, για την εκτέλεση του απευθείας.
Επομένως, και σύμφωνα με την εξήγηση που μόλις προτείναμε, αυτό το σύστημα απαιτεί την επιλογή ενός αρχιτεκτονική προορισμός, ο οποίος μπορεί να είναι διαφορετικός σε κάθε περίπτωση και θα μας αναγκάσει να συντάξουμε ξεχωριστά για καθεμία από τις διαφορετικές αρχιτεκτονικές στις οποίες θέλουμε να τρέξει το πρόγραμμά μας.
Έτσι, για παράδειγμα, μπορούμε να προχωρήσουμε σε ένα συγκεκριμένο πρόγραμμα για την αρχιτεκτονική x86 32-bit, το x86 64-bit, το PowerPC ή το ARM διαφοροποιούν επίσης 32 και 64 bit, ανάλογα με τον τύπο της συσκευής στην οποία θέλουμε τρέξτο.
Επιπλέον, πρέπει επίσης να λάβουμε υπόψη τα διαφορετικά λειτουργικά συστήματα, ακόμα κι αν εργαζόμαστε για την ίδια πλατφόρμα σκεύη, εξαρτήματα, αφού ο καθένας έχει διαφορετικό τρόπο αλληλεπίδρασης με τη φυσική μηχανή
Ας πάρουμε για παράδειγμα την πλατφόρμα x86 64-bit. Ίσως θέλουμε να συντάξουμε Παράθυρα, GNU / Linux ή macOS, ή για κάθε ένα από αυτά, που συνεπάγεται τρεις ξεχωριστές διαδικασίες σύνταξης.
Μερικές φορές, αυτό μας αναγκάζει να τροποποιήσουμε ελαφρώς τον πηγαίο κώδικα, διατηρώντας συχνά τρεις ξεχωριστές εκδόσεις (ή περισσότερες, ανάλογα με το η υπόθεση) προκειμένου να αλληλεπιδρούν σωστά με τις ιδιαιτερότητες και τις διαφορές της πλατφόρμας προορισμού.
Η διαδικασία σύνταξης ακολουθεί μια σειρά βημάτων, όπως η ανίχνευση συντακτικών σφαλμάτων στον πηγαίο κώδικα και μετά ένα προεπεξεργαστεί για να γνωρίζει τους πόρους που χρειάζεται το πρόγραμμα, και τέλος τη σύνδεση με τις βιβλιοθήκες και τους πόρους που απαιτούνται για το εκτέλεση.
Με αυτόν τον τρόπο, α αρχείο εκτελέσιμο που περιέχει όλα πόροι απαραίτητες για την εκτέλεσή του και τις απαραίτητες οδηγίες για την πρόσβαση σε εξωτερικούς πόρους, όπως κοινόχρηστες βιβλιοθήκες κώδικα (κοινόχρηστο).
Η διαδικασία κατάρτισης γίνεται με ένα συγκεκριμένο εργαλείο ή εργαλεία (μεταγλωττιστής), αν και είναι σύνηθες για αυτό να ενσωματωθεί σε περιβάλλοντα ανάπτυξης (IDE), διευκολύνοντας έτσι τη χρήση του.
Κάθε γλώσσα του προγραμματισμός Έχει το δικό του μεταγλωττιστή, αν και για μεγάλο χρονικό διάστημα, ο μεταγλωττιστής που αντιστοιχεί σε μια γλώσσα και περιβάλλον, είναι σε θέση να παράγει εκτελέσιμα για διάφορες πλατφόρμες λογισμικό διαφορετικός.
Υπάρχει μια εναλλακτική επιλογή για τη διαδικασία κατασκευής; Ναι, και είναι ερμηνευμένες γλώσσες.
Οι ερμηνευμένες γλώσσες είναι αυτές που μεταφράζονται κατά το χρόνο εκτέλεσης και δεν έχουν μεταγλωττιστεί.
Επομένως, ο πηγαίος κώδικας τους είναι πάντα διαθέσιμος, και αυτό που χρειάζονται είναι αυτός στο λειτουργικό σύστημα στο οποίο εκτελούνται, υπάρχει διερμηνέας.
Αποφεύγοντας τη διαδικασία σύνταξης, εάν ο διερμηνέας είναι διαθέσιμος για πολλές πλατφόρμες, θα είναι δυνατή η εκτέλεση του προγράμματος απευθείας σε καθένα από αυτά, συνήθως χωρίς αλλαγές.
Αλλα Συγκεντρώνω εναλλακτικά, στα μισά μεταξύ των μεταγλωττισμένων και ερμηνευμένων γλωσσών, είναι αυτές που απαιτούν μια εικονική μηχανή για να τρέξει, για παράδειγμα, Java.
Οι γλώσσες προγραμματισμού που εκτελούνται πάνω από ένα επίπεδο εικονικοποίησης (εικονική μηχανή) απαιτούν μια ενδιάμεση διαδικασία παρόμοια με αυτήν του συλλογή, αλλά αυτό οδηγεί σε έναν κώδικα που δεν είναι άμεσα εκτελέσιμος, αν και είναι πιο βελτιστοποιημένος από αυτόν που εκτελείται από μια γλώσσα ερμηνεύεται.
Σε αυτές τις περιπτώσεις, είναι απαραίτητο να υπάρχει μια διαδικασία παρόμοια με αυτήν της συλλογής, αλλά αυτό δίνει ένα διαφορετικό αποτέλεσμα και αυτό απαιτεί, σε κάθε περίπτωση, το εγκατάσταση του α χρόνος εκτέλεσης στο λειτουργικό σύστημα στο οποίο θέλουμε να εκτελέσουμε το πρόγραμμά μας.
Φωτογραφίες: Fotolia - Alexander Pokusay / Onot
Θέματα στη συλλογή