Skip to main content

Τι είναι ένας αυτο-τροποποιητικός κώδικας;

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

Η πιο καθοριστική πτυχή του αυτο-τροποποιητικού κώδικα είναι η ικανότητά του να αλλάζει προς το καλύτερο.Αυτό μπορεί να γίνει μόνο όταν η κωδικοποίηση ετοιμάζεται να εκτελέσει και όταν προετοιμάζεται να τρέξει.Ο κώδικας εκτέλεσης θα πρέπει να κάνει απολογισμό του τρέχοντος λογισμικού του υπολογιστή, της κατάστασης και άλλων παραγόντων, οπότε αυτό βοηθά κανονικά τον κώδικα να αναγνωρίσει τα σφάλματα επεξεργασίας για να διορθώσει καλύτερα τη δική του επεξεργασία. Οι προγραμματιστές μερικές φορές καθορίζουν παραμέτρους για αυτο-τροποποιητικό κώδικα, όπως η διόρθωσηο ίδιος κυρίως για την απόδοση, αλλά ο κώδικας κανονικά θα διορθωθεί χωρίς αλληλεπίδραση ή προτροπή.Εκτός από την αυξημένη επεξεργασία, ο κώδικας θα διαγράψει επίσης τον μη απαραίτητο κώδικα που απλώς σέρνει κάτω από το πρόγραμμα και θα μειώσει τα μήκη διαδρομής.Ταυτόχρονα, οι προγραμματιστές μπορούν να καθορίσουν περιοχές που δεν μπορούν να αλλάξουν, επειδή η αλλαγή ορισμένων τμημάτων του κώδικα μπορεί να προκαλέσει το σύνολο του προγράμματος να υποφέρει ή να σταματήσει να λειτουργεί.Οποιεσδήποτε οδηγίες για να το πράξουν.Αυτό συμβαίνει κανονικά με προβλήματα σήψης λογισμικού ή buffer και, ενώ η κωδικοποίηση αλλάζει, δεν θεωρείται αυτο-τροποποιητικός κώδικας.Υπάρχουν δύο λόγοι για αυτό, το ένα είναι ότι η αλλαγή δεν γίνεται σκόπιμα από τον προγραμματιστή.Ο δεύτερος λόγος είναι ότι ο αυτο-τροποποιητικός προγραμματισμός προορίζεται να βελτιώσει την κωδικοποίηση, ενώ τα προβλήματα buffer και rot υποβαθμίζουν την κωδικοποίηση.και άλλους εσωτερικούς παράγοντες.Αυτό χρησιμοποιείται πιο αυστηρά από τον προγραμματιστή πριν από την πώληση ή διανομή του κώδικα.Επιτρέποντας στον κώδικα να εκτελείται συνεχώς, επιτρέπει στον προγραμματισμό να διορθωθεί και τυχόν σφάλματα ή προβλήματα που προκαλούνται από τον προγραμματιστή κατά τη δημιουργία της κωδικοποίησης.Μια άλλη χρήση για αυτό είναι σε υπολογιστές με περιορισμένη μνήμη, επειδή αυτός ο κώδικας θα ανταποκριθεί σε έλλειψη μνήμης μειώνοντας το δικό του μέγεθος.