Skip to main content

Τι είναι ένα τραπέζι υποκαταστήματος;

Ένας πίνακας υποκαταστημάτων είναι μια μέθοδος για την αποτελεσματική μεταφορά του ελέγχου του προγράμματος από ένα μέρος ενός προγράμματος σε άλλο ή σε ένα δεύτερο πρόγραμμα που έχει φορτωθεί δυναμικά, στέλνοντας έναν κλάδο οδηγιών ή με την εφαρμογή μιας δήλωσης διακόπτη.Αυτή η μέθοδος, μερικές φορές ονομάζεται πίνακας άλματος, βασίζεται σε ένα σύνολο περιστάσεων ή συνθηκών για να πραγματοποιήσει ένα άλμα για να εφαρμόσει μια διαδικασία σύμφωνα με μια δήλωση διακόπτη από έναν μεταγλωττιστή C+.Μερικά από τα κύρια πλεονεκτήματα των πινάκων υποκαταστημάτων είναι η συμπαγής δομή κώδικα και η μείωση της ανάγκης να δοκιμαστούν οι κωδικοί επιστροφής ξεχωριστά κατά τον προσδιορισμό της ροής του προγράμματος.Χρησιμοποιούνται ακόμα στον προγραμματισμό συναρμολόγησης για τα ενσωματωμένα συστήματα και την ανάπτυξη λειτουργικών συστημάτων.Από τη δεκαετία του 1990, οι γλώσσες προγραμματισμού μεταγλωττιστή έχουν επίσης χρησιμοποιήσει τη λειτουργία του επιτραπέζιου διακυβέρνησης.

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

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