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

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

Ποια είναι η διαφορά μεταξύ της συλλογής και της εκτέλεσης;

Η συλλογή και η εκτέλεση είναι δύο ξεχωριστές φάσεις στη διαδικασία λειτουργίας ενός προγράμματος υπολογιστή, ιδιαίτερα εκείνων που γράφονται σε γλώσσες που έχουν μεταγλωττίσει όπως C, C ++ ή GO (σε αντίθεση με τις ερμηνευμένες γλώσσες όπως το Python ή το JavaScript). Εδώ είναι η κατανομή:

Συλλογή:

* Τι είναι: Η συλλογή είναι η διαδικασία μετάφρασης του πηγαίου κώδικα (κώδικας αναγνώσιμο από τον άνθρωπο που γράφτηκε από έναν προγραμματιστή) σε κώδικα μηχανής (δυαδικές οδηγίες που ο επεξεργαστής ενός υπολογιστή μπορεί να κατανοήσει άμεσα και να εκτελέσει). Ο μεταγλωττιστής είναι ένα ειδικό πρόγραμμα που εκτελεί αυτή τη μετάφραση.

* Έξοδος: Η έξοδος της συλλογής είναι ένα εκτελέσιμο αρχείο (π.χ. ένα αρχείο `.exe` στα Windows ή ένα απλό δυαδικό σε linux/macOS). Αυτό το αρχείο περιέχει τις οδηγίες κώδικα του μηχανήματος.

* διαδικασία: Ο μεταγλωττιστής ελέγχει τον πηγαίο κώδικα για σφάλματα (σφάλματα σύνταξης, σημασιολογικά σφάλματα κ.λπ.). Εάν εντοπιστούν σφάλματα, η συλλογή αποτυγχάνει και ο προγραμματιστής πρέπει να διορθώσει τα σφάλματα στον πηγαίο κώδικα πριν δοκιμάσει ξανά. Εάν δεν εντοπιστούν σφάλματα, ο μεταγλωττιστής παράγει το εκτελέσιμο αρχείο.

* Όταν συμβαίνει: Η σύνταξη συμβαίνει * πριν από το πρόγραμμα εκτελείται. Είναι ένα ξεχωριστό βήμα.

Εκτέλεση:

* Τι είναι: Η εκτέλεση είναι η διαδικασία της πραγματικής εκτέλεσης του προγράμματος που έχει καταρτιστεί. Ο επεξεργαστής του υπολογιστή μεταφέρει και εκτελεί τις οδηγίες κώδικα του μηχανήματος μία προς μία.

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

* Έξοδος: Η έξοδος της εκτέλεσης μπορεί να είναι πολλά πράγματα:τα δεδομένα που εμφανίζονται στην οθόνη, τα δεδομένα που γράφονται σε ένα αρχείο, τις αλλαγές που έγιναν στο σύστημα ή απλά την κατάσταση εξόδου του προγράμματος (υποδεικνύοντας την επιτυχία ή την αποτυχία).

* Όταν συμβαίνει: Η εκτέλεση συμβαίνει * μετά από * σύνταξη. Είναι το στάδιο όπου το πρόγραμμα εκτελεί τις επιδιωκόμενες εργασίες του.

αναλογία:

Σκεφτείτε να γράψετε ένα βιβλίο (πηγαίο κώδικα) και στη συνέχεια να το εκτυπώσετε (συλλογή). Το τυπωμένο βιβλίο είναι το εκτελέσιμο αρχείο. Η ανάγνωση του τυπωμένου βιβλίου είναι η εκτέλεση. Δεν μπορείτε να διαβάσετε το βιβλίο (εκτελέστε) μέχρι να εκτυπωθεί (συντάσσεται).

ερμηνευμένες γλώσσες:

Οι ερμηνευμένες γλώσσες δεν έχουν ξεχωριστό βήμα συλλογής με τον ίδιο τρόπο. Ένας διερμηνέας διαβάζει και εκτελεί τη γραμμή πηγαίου κώδικα ανά γραμμή, χωρίς να δημιουργεί ένα ξεχωριστό εκτελέσιμο αρχείο εκ των προτέρων. Ωστόσο, ορισμένες ερμηνευμένες γλώσσες χρησιμοποιούν τη συλλογή Just-in-Time (JIT) για να βελτιώσουν τις επιδόσεις, συγκεντρώνοντας τμήματα του κώδικα στον κώδικα μηχανής κατά τη διάρκεια της εκτέλεσης. Αλλά ακόμη και με το JIT, η διάκριση μεταξύ του βήματος μετάφρασης και του βήματος εκτέλεσης είναι λιγότερο σαφής από ό, τι στις καταρτισμένες γλώσσες.

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

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