Λίστα του προγράμματος. Λίστα - τι είναι με απλά λόγια: πλήρης ανάλυση της έννοιας. Μαθήματα, έκθεση για προπτυχιακές πρακτικές

Η λίστα του προγράμματος "demol.c" φαίνεται στο Σχ. 6.7. Ο προγραμματιστής θα βρει το όνομα του προγράμματος. Απαιτείται η επέκταση ".c". Το κείμενο πληκτρολογείται στο πρόγραμμα επεξεργασίας "Σημειωματάριο προγραμματιστή 2" (συντομογραφία PN2), το οποίο περιλαμβάνεται στο πακέτο WinAVR αντί του κελύφους γραφικών. Κάνει επίσης τη δημιουργία έργου, τη διόρθωση σφαλμάτων, τη σύνταξη προγραμμάτων και ακόμη και τον προγραμματισμό MK.

Ρύζι. 6.7. Λίστα του προγράμματος "demol.c".

Ρύζι. 6.8. Εμφάνιση του προγράμματος PN2.

Ο επεξεργαστής PN2 είναι ένα ανεξάρτητο έργο με δικό του ιστότοπο. Το κύριο μενού PN2 φαίνεται στο Σχ. 6.8.

Διαδικασία.

1.3 Εκτελέστε για εκτέλεση το αρχείο "WlnAVR-20100110-install.exe" (29 MB) που βρίσκεται στο συνημμένο CD-ROM. Αυτό το αρχείο μπορεί να μεταφορτωθεί ελεύθερα από το Διαδίκτυο, εάν είναι απαραίτητο. Εγκαταστήστε το WlnAVR από προεπιλογή στο φάκελο C: \ WinAVR-20100110 \.

2. Ανοίξτε τον επεξεργαστή PN2: "Έναρξη - Προγράμματα - WinAVR -20100110 - Σημειωματάριο προγραμματιστών". Ενεργοποίηση αρίθμησης γραμμών: "Εργαλεία - Επιλογές - Γενικά - Προεπιλογή -<поставить «галочку» возле «Show Line Numbers»>- ΕΝΤΑΞΕΙ".

3. Δημιουργήστε ένα νέο αρχείο C στον επεξεργαστή PN2: "Αρχείο - Νέο - C / C ++". Εισαγάγετε το κείμενο του προγράμματος από το πληκτρολόγιο σύμφωνα με το Σχ. 6.7 και αποθηκεύστε το στο σκληρό δίσκο: "Αρχείο - Αποθήκευση ως ... -<ввести путь и имя файла, например, для однозначности C:\1001\demol.c>- ΕΝΤΑΞΕΙ".

Στο εξής, τα στιγμιότυπα οθόνης (στιγμιότυπα οθόνης) θα εμφανίζονται μόνο στα πιο σημαντικά σημεία δράσης για εξοικονόμηση χώρου. Τα υπόλοιπα στιγμιότυπα οθόνης σε λειτουργία βήμα προς βήμα μπορείτε να τα δείτε στα μαθήματα βίντεο στο συνημμένο CD.

Εξηγήσεις για τη λίστα.

Η γραμμή 1 ξεκινά με σχόλια, τα οποία οριοθετούνται προς τα αριστερά από δύο πλάγιες κάθετες γραμμές. Όλο το κείμενο μετά τις πινακίδες "//" μπορεί να είναι για οτιδήποτε, σε οποιαδήποτε γλώσσα, με οποιεσδήποτε ελευθερίες και συντομογραφίες. Πρόκειται για αυθαίρετες πληροφορίες που γράφει ο προγραμματιστής για τον εαυτό του, την αγαπημένη του, προκειμένου να θυμηθεί σε ένα ή δύο μήνες τι, στην πραγματικότητα, συζητήθηκε. Συνήθως αναγράφεται το σύντομο όνομα του προγράμματος και η συγγραφή.

Η γραμμή 2 περιέχει επίσης σχόλια, αλλά τεχνικής φύσης. Ακολουθεί ένα διάγραμμα κυκλώματος για τη σύνδεση της ένδειξης HL1 και του κουμπιού SB1 σε συγκεκριμένες γραμμές των θυρών MK. Τα ονόματα των σημάτων αντιστοιχούν στη διάταξη από το dashit στο MHKpocxeMyATmega48A (Εικ. 6.9).

Ρύζι. 6.9. Διάταξη σήματος MKATmega48A.

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

Η γραμμή 3 καθορίζει τις παραμέτρους για το "makefile". Για αναφορά, είναι δυνατή η κανονική λειτουργία του μεταγλωττιστή AVR-GCC με δύο απαιτούμενα αρχεία. Το πρώτο είναι το αρχείο καταχώρισης με την επέκταση ".c", το δεύτερο είναι το αρχείο οδηγίας συστήματος "makefile" χωρίς επέκταση. Το "Makefile" δημιουργείται από το βοηθητικό πρόγραμμα "MFile" (Εικ. 6.10, από τον JoergWunsch, Γερμανία) που περιλαμβάνεται στο WinAVR.

Ρύζι. 6.10. Η εμφάνιση του προγράμματος MFile.

Διαδικασία.

1. Εκτελέστε το βοηθητικό πρόγραμμα "MFile" για εκτέλεση: "Έναρξη - Προγράμματα - WinAVR -2010010 - MFile".

2. Συμπληρώστε τα πεδία προτύπων ως εξής (Εικ. 6.11):

Στο στοιχείο "Makefile - Κύριο όνομα αρχείου ... - Κύριο αρχείο" εισαγάγετε το όνομα του έργου που αναπτύσσεται "demol" και κάντε κλικ στο OK.

Στο στοιχείο "Makefile - τύπος MCU - ATmega" επιλέξτε MK "atmega48a".

Στο στοιχείο "Makefile - Επίπεδο βελτιστοποίησης" ορίστε το επίπεδο βελτιστοποίησης "2". Άλλες δυνατότητες: "0" - χωρίς βελτιστοποίηση, "s" - το ελάχιστο μήκος κωδικών, ψηφία "1" ... "3" είναι τρεις διαφορετικές μέθοδοι βελτιστοποίησης και ο αριθμός "3" δεν σημαίνει την καλύτερη επιλογή, όλα εξαρτώνται από το συγκεκριμένο πρόγραμμα C ...

Δεν είναι απαραίτητο να διορθώσετε τις υπόλοιπες ρήτρες προτύπων "makefile", αφήστε τις να παραμείνουν οι προεπιλεγμένες.

Ρύζι. 6.11. Συμπλήρωση πεδίων στο πρόγραμμα MFile.

Για κάθε νέο έργο και νέο τύπο MK, πρέπει να συνθέσετε το δικό σας "makefile", ενώ το όνομα του έργου και ο τύπος MK θα αλλάξουν.

Η γραμμή 4 περιέχει σχόλια που καθορίζουν τους δεκαεξαδικούς αριθμούς των χαμηλών, υψηλών και Ext byte της διαμόρφωσης. Αυτές οι τιμές θα χρειαστούν αργότερα κατά τον προγραμματισμό των ασφαλειών MK.

Το С «ктг5 είναι ενημερωτικά κενό. Διαχωρίζει οπτικά το κείμενο σχολίων από το υπόλοιπο πρόγραμμα. Αντί για μία, μπορείτε να εισαγάγετε δύο κενές γραμμές, κάτι που δεν είναι σημαντικό. Το κύριο σημείο είναι να βελτιωθεί η ορατότητα. Αυτό δεν επηρεάζει το μήκος των κωδικών υλικολογισμικού MK.

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

Η γραμμή 6 εξυπηρετείται από τον προεπεξεργαστή του μεταγλωττιστή. Δεν πρόκειται για δήλωση Γ ή σχόλιο. Το όνομα είναι περίπλοκο, αλλά το νόημα είναι απλό. Ο προεπεξεργαστής (προεπεξεργαστής) αναζητά στο πρόγραμμα γραμμές που ξεκινούν με τον χαρακτήρα "#". Επιπλέον, ανάλογα με τη λέξη -κλειδί, εκτελεί μια συγκεκριμένη ενέργεια, για παράδειγμα, "define" - εκχωρεί τιμές σε σταθερές, "εάν ορίζεται" - ελέγχει μια συνθήκη, "inC1ude" - συνδέει μια βιβλιοθήκη συναρτήσεων κ.λπ.

Για μια πρώτη γνωριμία, αρκεί να γνωρίζουμε ότι μια βιβλιοθήκη λειτουργιών είναι ένα σύνολο αρχείων που περιέχουν κείμενα τυπικών ή συχνά επαναλαμβανόμενων διαδικασιών. Σε αυτήν την περίπτωση, η οδηγία "# inC1ude" (μεταφρασμένη από τα Αγγλικά. "Include") ενεργοποιεί τη βιβλιοθήκη συστήματος "avr / io.h", η οποία είναι υπεύθυνη για τη λειτουργία των θυρών εισόδου / εξόδου. Αυτή η βιβλιοθήκη έχει διαφορετικό όνομα σε διαφορετικούς μεταγλωττιστές, αλλά η ουσία είναι η ίδια, χωρίς αυτήν δεν μπορείτε να ελέγξετε καμία γραμμή θύρας MK. Επομένως, η σύνδεση της βιβλιοθήκης εισόδου / εξόδου είναι υποχρεωτική για όλα τα προγράμματα μικροελεγκτών C.

Η γραμμή 7 επεξεργάζεται επίσης από τον προεπεξεργαστή του μεταγλωττιστή, αλλά έχει τη λέξη -κλειδί "καθορισμός". Επομένως, δηλώνει μια σταθερά INI και της αποδίδει τη σταθερή τιμή 255. Τα σχόλια υποδεικνύουν τη μετάφραση του 255 σε δεκαεξαδικό 0xFF και δυαδικό 0bl 1111111. Η διαφορά μεταξύ τους έγκειται στα γράμματα "x" και "b" μετά το υποχρεωτικό ψηφίο "0". Η αντιστοιχία αριθμών σε διαφορετικά συστήματα δίνεται στον Πίνακα. 6.3.

Πίνακας 6.3. Μετατροπή αριθμών από δεκαεξαδικό σε δυαδικό και αντίστροφα

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

Η σημασία της τοποθέτησης της σταθεράς στην "κεφαλίδα" του προγράμματος έγκειται στην απλότητα της αναζήτησής του και στην ταχύτητα πραγματοποίησης αλλαγών. Για παράδειγμα, έχοντας διορθώσει μια φορά τον αριθμό "255", μπορείτε να είστε βέβαιοι ότι παντού στο κείμενο θα είναι αυτόματα (και χωρίς σφάλματα!) Εισάγεται μέσω της σταθεράς lNI.

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

Η δήλωση της σταθεράς INI θα μπορούσε να γραφτεί με δύο ακόμη ισοδύναμους τρόπους: "#define INI OxFF" ή "#define INI Obl 1111111".

Η γραμμή 8 περιέχει τον τελεστή που περιγράφει τη μεταβλητή "a". Μια μεταβλητή μπορεί μεταφορικά να αναπαρασταθεί ως ένα κουτί (κουτί, κουτί, μολυβοθήκη), όπου αποθηκεύεται ένας αριθμός αντικειμένων (χάντρες, κόκκοι, σπίρτα). Για να κάνουν τα "κουτιά" διαφορετικά μεταξύ τους, σημειώνονται με διαφορετικές επιγραφές στη θήκη, στην περίπτωση αυτή το γράμμα "α". Εάν ο αρχικός αριθμός δεν καθορίζεται στην περιγραφή της μεταβλητής, τότε θεωρείται ότι το "πλαίσιο" είναι κενό και αρχικοποιείται με μηδέν (a = 0). Κατά τη διάρκεια του προγράμματος, μπορείτε να προσθέσετε στοιχεία στο "πλαίσιο" και να τα αφαιρέσετε από αυτό. αυξάνουν και μειώνουν την τιμή μιας μεταβλητής.

Ο όγκος του "κουτιού" εξαρτάται από την αρχική του δήλωση. Τραπέζι. 6.4 δείχνει τα όρια που γίνονται αποδεκτά στον μεταγλωττιστή AVR-GCC. Όπως μπορείτε να δείτε, η δήλωση "unsigned char" σας επιτρέπει να βάλετε 255 στοιχεία στο "πλαίσιο". Μαζί με τη μηδενική τιμή (κενό "πλαίσιο") θα υπάρχουν συνολικά 256 καταστάσεις ή 256 byte. Η μεταβλητή με τη δήλωση "ανυπόγραφη μακρά" δεν είναι πλέον σαν μια κασετίνα, αλλά ένα ολόκληρο τρένο, το οποίο έχει σχεδιαστεί για 4,2 δισεκατομμύρια αντικείμενα.

Πίνακας 6.4. Οι διαστάσεις των μεταβλητών που υιοθετήθηκαν στο АУК-ВСС

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

Οι "πατέρες-διοικητές" της γλώσσας Από την αρχαιότητα, έχουν δημιουργήσει μια ανείπωτη σειρά, σύμφωνα με την οποία το όνομα μιας μεταβλητής δεν πρέπει να αποτελείται από περισσότερους από 8 χαρακτήρες. Στον μεταγλωττιστή AVR-GCC, αυτός ο κανόνας αγνοείται και η μεταβλητή μπορεί να περιέχει όσους χαρακτήρες θέλετε, αλλά χωρίς φανατισμό. Το μόνο πράγμα είναι ότι το πρώτο γράμμα του λατινικού αλφαβήτου πρέπει να είναι το πρώτο στο όνομα, μπορεί να ακολουθηθεί από γράμματα, αριθμούς, σύμβολα. Το κυριλλικό δεν επιτρέπεται.

Μια μεταβλητή, σε αντίθεση με μια σταθερά, περιέχει κάποιο μεταβλητό (όχι σταθερό) αριθμό. Για να διακρίνουμε μεταβλητές από σταθερές, γράφονται με μικρά γράμματα. Συνήθως προσπαθούν να κάνουν το όνομα να ταιριάζει με την έννοια, για παράδειγμα, "μετρήστε" για έναν μετρητή, "δεδομένα" για δεδομένα, "καθυστέρηση" για μια καθυστέρηση. Αν και μερικές φορές απλούστερες, πιο οικείες και πιο συμπαγείς μεταβλητές ενός γράμματος που είναι γνωστές από την σχολική άλγεβρα φαίνονται πιο απλές - a, b, c, d, i, j, k, x, y, z.

Η διάσταση που πρέπει να καθοριστεί για μια συγκεκριμένη μεταβλητή καθορίζεται από τον προγραμματιστή. Δεδομένου ότι η μεταβλητή "a" σε αυτήν την καταχώριση αποτελεί αποθηκευτικό χώρο για τη συλλογή πληροφοριών από την ψηφιακή θύρα 8-bit "C", σημαίνει ότι πρέπει να περιέχει "δύο έως την όγδοη ισχύ" byte, δηλ. από 0 έως 255.

Είναι ενδιαφέρον ότι ο μεταγλωττιστής δεν δημιουργεί σφάλμα αν το παίξετε με ασφάλεια και δηλώσετε τη μεταβλητή με περιθώριο ως "unsigned long a;". Είναι αλήθεια ότι αυτό οδηγεί σε άσκοπη αύξηση του μεγέθους κώδικα από 114 σε 126 byte και, κατά συνέπεια, σε μικρή μείωση της ταχύτητας εκτέλεσης του προγράμματος.

Το άλλο άκρο είναι μια υποτίμηση της διάστασης, όταν, για παράδειγμα, αντί για δήλωση "unsigned int", χρησιμοποιείται "unsigned char". Εάν εισαγάγετε έναν αριθμό μεγαλύτερο από 255 σε μια τέτοια μεταβλητή, τότε θα αποθηκευτεί μόνο το υπόλοιπο της διαίρεσης κατά 256 και το κύριο μέρος θα χαθεί ανεπανόρθωτα. Μεταφορικά, αντικείμενα χύνονται από το "κουτί". Ο μεταγλωττιστής δεν αντιδρά σε τέτοια λάθη, υποθέτοντας ότι ο προγραμματιστής είναι σε επαρκή κατάσταση και καταλαβαίνει τι κάνει. Ο σωστός και χωρίς σφάλματα προσδιορισμός της διάστασης των μεταβλητών έρχεται συνήθως με εμπειρία.

Η γραμμή 9 είναι κενή για πληροφορίες, παρόμοια με τη γραμμή 5. Το αν θα εισαχθεί στη λίστα εξαρτάται από τη βούληση του προγραμματιστή.

Η γραμμή 10 είναι γεμάτη με σχόλια, αλλά για ποικιλία είναι σε διαφορετική μορφή. Δηλαδή, το κείμενο υπογραμμίζεται στην αριστερή πλευρά με τους χαρακτήρες " / *" και στη δεξιά πλευρά - με τους χαρακτήρες " * /". Αυτό το στυλ προέρχεται από τις αρχαιότερες εκδόσεις της γλώσσας Γ. Αργότερα στα σχόλια χρησιμοποιήθηκαν τα σύμβολα "//", τα οποία είναι χαρακτηριστικά για τη γλώσσα C ++. Στο WinAVR, και οι δύο επιλογές έχουν ίσο δικαίωμα ύπαρξης. Η "νέα" ορθογραφία είναι απλούστερη και σαφέστερη και η "παλιά" σε ορισμένα σημεία είναι η μόνη δυνατή, εάν θέλετε να σχολιάσετε την αρχή του τελεστή.

Η γραμμή 11 περιέχει μια τυπική κλήση στη λειτουργία "κύρια" σύμφωνα με τους κανόνες του Αμερικανικού Εθνικού Ινστιτούτου Προτύπων (ANSI). Επιτρέπονται, αλλά δεν συνιστώνται συντετμημένες εκφράσεις: "int main ()", "main ()", "main (void)". Μερικές φορές γράφουν ακόμη και "κενό κενό (κενό)", τονίζοντας την πλήρη απουσία παραληφθέντων και περασμένων παραμέτρων. Για απλά MK που δεν υποστηρίζουν λειτουργικά συστήματα σε πραγματικό χρόνο, δεν θα υπάρξουν αρνητικές συνέπειες. Ωστόσο, εάν σκέφτεστε το μέλλον, είναι καλύτερα να απομνημονεύσετε αμέσως ολόκληρη τη μορφή γραφής, η οποία θα διευκολύνει τη μεταφορά προγραμμάτων C σε πιο σύγχρονες πλατφόρμες μικροελεγκτών στο μέλλον.

Η γραμμή 12 κατανέμεται εξ ολοκλήρου κάτω από το πρώτο ανοιχτό σγουρό στήριγμα. Δεν είναι τυχαίο που της απονεμήθηκε τέτοια τιμή. Ο μεταγλωττιστής C, όταν εκτελεί τη γραμμή 12, εκτελεί την αρχική προετοιμασία των καταχωρητών MK, την εγκατάσταση της στοίβας και την κατανομή του χώρου διευθύνσεων. Δεν χρειάζεται να μάθετε τη μηχανική αυτής της διαδικασίας κοσμήματος (σε αντίθεση με τα προγράμματα στο Assembler!).

Για έναν προγραμματιστή, το κύριο πράγμα είναι να κατανοήσει σωστά δύο πράγματα που παράγονται αυτόματα από τον μεταγλωττιστή που περιλαμβάνεται στο WinAVR:

Στην αρχή του προγράμματος, όλες οι διακοπές είναι απενεργοποιημένες.

Όλες οι γραμμές θύρας MK έχουν διαμορφωθεί ως είσοδοι χωρίς αντιστάσεις έλξης.

Γραμμή 13. Τέλος, η πρώτη εκτελέσιμη εντολή προγράμματος εμφανίστηκε με τη μορφή δήλωσης εκχώρησης. Επεξήγηση συμβόλων:

"DDRB" είναι το συμβατικό όνομα του οκτα bit μητρώου DDR της θύρας "B".

"=" - σημάδι εγγραφής δεδομένων στο μητρώο DDRB.

"ОЬ" - ένδειξη ότι τα επόμενα 8 ψηφία θα είναι σε δυαδικό κώδικα.

"11111111" - τα δυαδικά ψηφία που είναι γραμμένα στο μητρώο DDRB, τακτοποιημένα με τη σειρά 7, 6, 5, 4, 3, 2, 1, 0 (το πιο σημαντικό κομμάτι στα αριστερά, το λιγότερο σημαντικό bit στα δεξιά) Το

Ως αποτέλεσμα της εκτέλεσης αυτού του τελεστή, όλες οι γραμμές της θύρας "B" ρυθμίζονται στη λειτουργία εξόδου, αφού οι μονάδες υποδεικνύονται σε όλα τα ψηφία.

Η δήλωση στη γραμμή 13 είναι εσοχή δύο κενών από αριστερά. Αυτή είναι μια σύμβαση μορφοποίησης κειμένου που τηρούν πολλοί προγραμματιστές. Ο μεταγλωττιστής θα "σιωπήσει" εάν ξεκινήσετε το κείμενο στην πρώτη ή την έβδομη στήλη από τα αριστερά, όπως σας αρέσει. Υπάρχει μόνο μία σύσταση: "Η καταχώριση ενός προγράμματος C πρέπει να είναι εύκολη στην προβολή." Μετά από αυτό, στο μέλλον, όλα τα κείμενα θα διαμορφωθούν έτσι ώστε τα σγουρά στηρίγματα να βρίσκονται σε περιττές στήλες κάθετα (1, 3, 5 κ.λπ.) και κάθε στήλη θα περιέχει μόνο ένα άνοιγμα στο επάνω μέρος και ένα κλείσιμο σγουρά στηρίγματα ο πάτος.

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

Η γραμμή / 4 λειτουργεί σε συνδυασμό με τη γραμμή 13, δεδομένου ότι η συγκεκριμένη κατάσταση της γραμμής θύρας στους ελεγκτές AVR καθορίζεται από μια δέσμη δύο καταχωρητών DDRx και PORTx, όπου "x" είναι το κανονικό γράμμα της θύρας, για παράδειγμα, B, C ή D. Λαμβάνοντας υπόψη ότι κάθε καταχωρητής περιέχει 8 bits αριθμημένα από 0 έως 7 (υπό όρους "z"), τότε η γενική διάταξη κατά μήκος των γραμμών λιμένων έχει ως εξής:

DDRx.z = 1, PORTx.z = 1 - έξοδος Υ HIGHΗΛΟΥ επιπέδου.

DDRx.z = 1, PORTx.z = 0 - ΧΑΜΗΛΗ έξοδος.

DDRx.z = 0, PORTx.z = 1 - είσοδος με αντίσταση "έλξης".

DDRx.z = 0, PORTx.z = 0 - είσοδος χωρίς αντίσταση έλξης.

Συνοψίζοντας τις γραμμές 13 και 14: DDRB.0… DDRB.7 = 1, PORTB.O = 0, PORTB.l = 1, PORTB.2… PORTB.7 = 0, επομένως, οι γραμμές 0, 2… 7 της θύρας “B "θα διαμορφωθεί ως LOW έξοδοι και η γραμμή 1 ως HIGH. Δεδομένου ότι ο δείκτης HL1 είναι συνδεδεμένος στη γραμμή PB1 (ακίδα 15 του μικροκυκλώματος DD1 στο Σχ. 6.3), θα σβήσει. Αποδεικνύεται ότι το αρχικό μέρος της τεχνικής εργασίας ολοκληρώθηκε με επιτυχία.

Οι γραμμές 15, 16 είναι παρόμοιες με τις γραμμές 13, 14, αλλά για τη θύρα "C". Για μια αλλαγή, χρησιμοποιείται η σταθερή υποκατάσταση lNI. Μετά την εκτέλεση των γραμμών 15 και 16, όλες οι γραμμές της θύρας "C", ακόμη και εκείνες που δεν εμπλέκονται άμεσα στη λειτουργία, θα διαμορφωθούν ως είσοδοι με αντιστάσεις "έλξης". Αυτή είναι μια τυπική τεχνική για την αρχικοποίηση της θύρας για την ενεργοποίηση των εσωτερικών αντιστάσεων έλξης που εμποδίζουν τις εισόδους CMOS των γραμμών MCU να κρέμονται στον αέρα και εξαλείφουν τυχόν θόρυβο και διαδρομές παραλαβής.

Η γραμμή 17 είναι παρόμοια με τις γραμμές 13, 14 και 15, 16, αλλά για τη θύρα "D". Δεν εμπλέκεται καθόλου στο ηλεκτρικό κύκλωμα, αλλά θα πρέπει να το λάβετε κατά κανόνα - να προετοιμάσετε όλες τις θύρες χωρίς εξαίρεση στην αρχή του προγράμματος. Οι αδρανείς γραμμές τους πρέπει να διαμορφωθούν ως είσοδοι αντίστασης έλξης ή ως έξοδοι Υ HIGHΗΛΟΥ / ΧΑΜΗΛΟΥ. Στο μέλλον, ένας τέτοιος αυτοματισμός θα επιτρέψει την αποφυγή συγκρούσεων και παρεξηγήσεων.

Ένα ειδικό χαρακτηριστικό είναι η εκχώρηση του καταχωρητή PORTD στην τιμή που είχε εκχωρηθεί προηγουμένως στη γραμμή 13 στον καταχωρητή DDRB, δηλ. ο δυαδικός αριθμός Obl 1111111. Αυτό έγινε για εκπαιδευτικούς σκοπούς, γιατί θα μπορούσε να ήταν ευκολότερο: "PORTD = OxFF;".

Μια άλλη λεπτομέρεια είναι η έλλειψη εγγραφής στο μητρώο DDRD. Δεν πρόκειται για τυπογραφικό λάθος, αλλά για σκόπιμη μείωση της καταχώρισης κατά μία γραμμή, αφού όταν ενεργοποιηθεί η τροφοδοσία, σύμφωνα με το φύλλο δεδομένων, όλοι οι καταχωρητές DDRx, PORTx γεμίζουν αυτόματα μηδενικά, δηλ. δεν είναι απαραίτητο να εκκαθαριστεί επιπλέον το μητρώο DDRD.

Η γραμμή 18 περιέχει τη δήλωση βρόχου "while". Για την πρώτη γνωριμία, αρκεί να θυμηθούμε ότι η έκφραση "ενώ (1)" σημαίνει την διαδοχική εκτέλεση των δηλώσεων στις γραμμές 19 ... 21 σε έναν άπειρο βρόχο.

Η γραμμή 19 περιέχει μια ανοιχτή παρένθεση και μια δήλωση ανάθεσης. Αυτός ο συνδυασμός επιτρέπεται από τους κανόνες της γλώσσας C, γεγονός που καθιστά τη λίστα πιο συμπαγή σε ύψος.

Αφού εκτελεστεί η γραμμή 19, η μεταβλητή "a" θα αποθηκεύσει το byte κατάστασης οκτώ γραμμών της θύρας "C", η οποία διαβάστηκε από τον καταχωρητή PINC. Εάν δεν πατηθεί το κουμπί SB1, τότε "a = OxFF", και αν πατηθεί, τότε "a = OxFE".

Η γραμμή 20 μετατοπίζει το περιεχόμενο της μεταβλητής "a" ένα bit προς τα αριστερά. Δύο επιλογές είναι δυνατές: αν το "a" ήταν νωρίτερα OxFF, τότε θα γίνει OxFE και αν ήταν OxFE, θα γίνει OxFD. Γιατί γίνεται αυτό, θα σας πει η επόμενη γραμμή του προγράμματος.

Η γραμμή 21 περιέχει τον τελεστή εκχώρησης, αλλά, σε σύγκριση με τη γραμμή 19, η μεταβλητή "a" και ο καταχωρητής θύρας αντιστρέφονται. Στο C, αυτό το castling έχει ως αποτέλεσμα την αντικατάσταση μιας λειτουργίας ανάγνωσης από μια θύρα με μια λειτουργία εγγραφής σε μια θύρα. Συνολικά, ο κωδικός 0xFE (εάν δεν πατηθεί το κουμπί SB1) ή ο κωδικός 0xFD (εάν πατηθεί το κουμπί SB1) θα εξέλθει στη θύρα "B". Στην πρώτη περίπτωση, ο δείκτης HL1 θα σβήσει, στη δεύτερη, θα λάμψει, η οποία έπρεπε να επιτευχθεί σύμφωνα με τους όρους αναφοράς.

Οι γραμμές 22, 23 περιέχουν κλείσιμο σγουρά στηρίγματα. Εάν τραβήξετε διανοητικά δύο κάθετες γραμμές από αυτές "από κάτω προς τα πάνω", τότε δείχνουν κατευθείαν στις αγκύλες ανοίγματος στις γραμμές 19 και 12. Η παρένθεση στη γραμμή 22 δείχνει μια επανάληψη βρόχου στις γραμμές 19 ... 21. Η παρένθεση στη γραμμή 23 ξεκινά στην πρώτη θέση από τα αριστερά, οπότε έχει επιτευχθεί το τέλος της συνάρτησης "κύρια", και επομένως το κύριο πρόγραμμα.

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

Ο προσεκτικός αναγνώστης έχει το δικαίωμα να παρατηρήσει ότι στο στάδιο της σύνταξης της λίστας του προγράμματος C, ήταν αδύνατο να υπολογιστεί εκ των προτέρων πόσο καταλαμβάνουν οι κωδικοί στη μνήμη MK. Για να είμαι ειλικρινής, η επιγραφή "114 bytes (2,8%)" προστέθηκε αργότερα, μετά τη σύνταξη του προγράμματος. Υπάρχει ένα σαφές παράδειγμα της ίδιας της ανατροφοδότησης, η οποία στο δομικό διάγραμμα της Εικ. Το σημείο 6.1 υποδεικνύεται με μια διακεκομμένη γραμμή μεταξύ των μπλοκ "Κ" και "L".

Η γραμμή 25 είναι εντελώς κενή, αλλά σε αντίθεση με τις γραμμές 5 και 9, σηματοδοτεί το φυσικό τέλος της καταχώρισης. Χωρίς αυτήν τη γραμμή τερματισμού, ο μεταγλωττιστής εκδίδει μια ήπια, αλλά ακόμα, προειδοποίηση: "Προειδοποίηση: δεν υπάρχει νέα γραμμή στο τέλος του αρχείου".

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

Τι είναι η καταχώριση

Η έννοια του καταλόγου βρίσκεται σε διαφορετικούς τομείς της ζωής μας:

  • Χρηματιστήρια μετοχών και κρυπτονομισμάτων- θα είναι το θέμα αυτού του άρθρου. Πρόκειται για την προσθήκη κινητών αξιών ή κρυπτοκινημάτων στις λίστες των πλατφορμών συναλλαγών.
  • Στο εμπόριο- αυτό συνεπάγεται την προσθήκη προϊόντων συγκεκριμένου κατασκευαστή στην ποικιλία του καταστήματος.
  • Στον προγραμματισμό- αυτός είναι ο πηγαίος κώδικας (κείμενο) του προγράμματος, ο οποίος μεταφράζεται σε εκτελέσιμο κώδικα χρησιμοποιώντας τον μεταγλωττιστή.
  • Στα ακίνητα- εδώ έχουν υπογραφεί συμβάσεις καταχώρισης μεταξύ του ιδιοκτήτη του ακινήτου και του αντιπροσώπου πωλήσεων που το πωλεί με προμήθεια.

Δεν θα εξετάσουμε τις δύο τελευταίες βιομηχανίες. Μας ενδιαφέρει η καταχώριση, καθώς και τα κρυπτονομίσματα.

Εισαγωγή και διαγραφή τίτλων

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

Έχοντας περάσει τη διαδικασία εισαγωγής, οι τίτλοι περιλαμβάνονται στον κατάλογο συναλλαγών του χρηματιστηρίου.

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

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

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

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

Στάδια καταχώρισης

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

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

Η διαδικασία διαρκεί περίπου 1-2 μήνες κατά μέσο όρο. Για να παραμείνει στη λίστα, ο εκδότης θα πρέπει, κατά κανόνα, να υποβάλλει τα απαιτούμενα δεδομένα στο χρηματιστήριο μία φορά το τρίμηνο.

Οι κανόνες καταχώρισης που εφαρμόζονται ανά επίπεδο διαπραγμάτευσης στις εταιρείες διαφέρουν. Ορισμένοι μπορούν να παραδεχτούν ότι έχουν εισαγάγει εταιρείες που έχουν κεφαλαιοποιηθεί τουλάχιστον 50 εκατομμύρια δολάρια και ο χρόνος παρουσίας τους στην αγορά είναι τουλάχιστον 3 χρόνια. Άλλοι μπορούν είτε να ανεβάσουν είτε να χαμηλώσουν τον πήχη για αυτές και άλλες απαιτήσεις.

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

Επίπεδα καταχώρισης

Κυρίως υπάρχουν διάφορα επίπεδα καταχώρισης στα χρηματιστήρια. Πρώτα ασφάλιστροπεριλαμβάνονται οι πιο ρευστοί τίτλοι με υψηλό επίπεδο αξιοπιστίας.

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

Για παράδειγμα, οι κύριες και οι εναλλακτικές τοποθεσίες ισχύουν για. Το πρώτο χωρίζεται σε δύο επίπεδα: "Standard" και "Premium". Η εναλλακτική αγορά προορίζεται για μικρές και μεσαίες αναπτυσσόμενες επιχειρήσεις που εισάγονται εδώ με απλοποιημένη διαδικασία.

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

Τύποι καταχώρισης

Διάκριση μεταξύ πρωτογενούς και δευτερεύοντος καταλόγου.

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

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

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

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

Ποια είναι τα πλεονεκτήματα του εκδότη

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

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

Ωστόσο, μην ξεχνάτε ότι στο εξής, θα δοθεί αυξημένη προσοχή στις δραστηριότητες της εταιρείας και οι όποιες ενέργειες θα επηρεάσουν άμεσα την αξία των μετοχών. Επιπλέον, η διαδικασία καταχώρισης δεν είναι δωρεάν. Όλες οι ειδικές εξετάσεις κοστίζουν.

Τι δίνει στους επενδυτές

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

Τι είναι η διαγραφή

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

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

Λίστα κρυπτονομισμάτων

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

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

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

Τιμή έκδοσης

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

Η Binance, για παράδειγμα, ανακοίνωσε αυτό το φθινόπωρο ότι τα τέλη εισαγωγής θα πάνε για τη χρηματοδότηση φιλανθρωπικών έργων. Ταυτόχρονα, δεν υπάρχουν σταθερές τιμές - οι ίδιοι οι προγραμματιστές καθορίζουν πόσο θέλουν να πληρώσουν για την καταχώριση. Η διοίκηση της Poloniex ισχυρίζεται ότι δεν χρειάζεται καθόλου χρήματα για τη λίστα.

Στις αρχές του έτους, δημοσιογράφοι του Business Insider δημοσίευσαν ένα άρθρο σύμφωνα με το οποίο το ελάχιστο όριο για την εισαγωγή ανταλλαγών κρυπτογράφησης για έργα ICO είναι 50.000 $ και σε ορισμένες περιπτώσεις μπορεί να φτάσει το 1 εκατομμύριο δολάρια.

Υπήρξαν επίσης περιπτώσεις κατά τις οποίες η διοίκηση των χρηματιστηρίων βρήκε δωροδοκίες για τη συμπερίληψη κερμάτων στη λίστα. Ένα παράδειγμα είναι το χρηματιστήριο Coinnest - οι λειτουργικοί και τεχνικοί διευθυντές του πληρώθηκαν περίπου 890 χιλιάδες δολάρια για να προσθέσουν το κρυπτονόμισμα S -coin στη λίστα συναλλαγών.

Πως δουλεύει

Για να καταχωριστεί ένα διακριτικό, τις περισσότερες φορές είναι απαραίτητο να υποβάλετε μια αίτηση και να συμπληρώσετε ένα ερωτηματολόγιο στην επιλεγμένη πλατφόρμα. Ωστόσο, τα δημοφιλή κέρματα της ανταλλαγής μπορούν να συμπεριληφθούν στη λίστα μόνα τους, χωρίς να περιμένουν την ομάδα του έργου να προσφέρει αυτό. Για παράδειγμα, το bitcoin (BTC) είναι υποχρεωτικό σε κάθε ανταλλαγή, και κατά κανόνα, το Ethereum (ETH).

Ποιες ερωτήσεις απαντώνται συχνότερα στο ερωτηματολόγιο:

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

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

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

Σημαντικές αποχρώσεις

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

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

Κέρματα που μπορούν να αναγνωριστούν ως τίτλοι, τα χρηματιστήρια προσπαθούν να μην προσθέσουν... Για παράδειγμα, η Poloniex καλεί αμέσως τους προγραμματιστές να εξοικειωθούν με το τεστ του Howie για να καθορίσουν εάν ένα διακριτικό μπορεί να πληροί αυτά τα κριτήρια ή όχι.

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

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

"Επίδραση ανταλλαγών"

Μετά την προσθήκη δημοφιλών κρυπτο-ανταλλαγών στις λίστες, το κόστος των κερμάτων συνήθως αυξάνεται κατακόρυφα-κατά μέσο όρο 25-30%. Αυτό το μοτίβο έχει ακόμη ονομαστεί "φαινόμενο του χρηματιστηρίου". Αυτό συμβαίνει λόγω του ότι περισσότεροι χρήστες μαθαίνουν για το νόμισμα, γίνεται αναγνωρίσιμο και αυξάνει τη ζήτηση για αυτό. Ωστόσο, τις περισσότερες φορές αυτή η απογείωση είναι βραχύβια και σύντομα το κόστος αρχίζει να μειώνεται.

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

Οι κρυπτοκοΐνες διαγράφονται για διάφορους λόγους:

  • χαμηλό ενδιαφέρον από εμπόρους ·
  • αλλαγές στη νομοθεσία ·
  • hacking το blockchain του κρυπτο δικτύου?
  • άρνηση προγραμματιστών να υποστηρίξουν περαιτέρω το νόμισμα ·
  • παράπονα χρηστών.

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

Λίστα στο εμπόριο

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

Εάν το προϊόν δεν έχει ζήτηση μεταξύ των αγοραστών, μπορεί επίσης να περάσει από τη διαδικασία διαγραφής, οπότε εξαφανίζεται από τα ράφια των καταστημάτων.

Κατά τη σύνταξη του προγράμματος, μπορείτε να ορίσετε την παράμετρο "l" (λίστα):

Στη συνέχεια, εκτός από το αρχείο με το άθροισμα κωδικού αντικειμένου. obj, ένα άθροισμα καταχώρισης αρχείων. lst:

  • 1 · άθροισμα asm - ένα πρόγραμμα που υπολογίζει S = A + B
  • 2 0000 τμήμα δεδομένων
  • 3 0000 0001 a dw 01h
  • 4 0002 0002 b dw 02 ώρες
  • 5 0004 ???? s dw;
  • 6.0006 δεδομένα τελειώνουν
  • 7 0000 τμήμα κωδικού
  • 8 υποθέτουμε ds: δεδομένα
  • 9 0000 BA 0000s ξεκινούν: mov dx, δεδομένα
  • 10 0003 8E DA mov ds, dx
  • 11 0005 A1 0000r mov ax, a
  • 12 0008 03 06 0002r add ax, β
  • 13 000C A3 0004r mov s, τσεκούρι
  • 14 000F B8 4C00 κινούμενο τσεκούρι, 4C00h
  • 15 0012 CD 21 int 21h
  • 16 0014 κωδ
  • 17 τέλος

Η λίστα είναι ένας πίνακας που περιέχει τέσσερις στήλες:

    Αριθμός σειράς.

    Μια διεύθυνση εντός ενός τμήματος, δηλαδή από την αρχή του (offset).

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

    Κωδικός συναρμολογητή.

Τα σχόλια καταχώρισης αποθηκεύονται επίσης, απλώς παραλείπονται εδώ για εξοικονόμηση χώρου.

Από τη λίστα μπορείτε να δείτε ότι μόνο οι γραμμές 9-15 αντιστοιχούν σε εντολές επεξεργαστή. Οι υπόλοιπες γραμμές αντιστοιχούν στη λεγόμενη. οδηγίες συναρμολόγησης.

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

    εντολές - πληροφορίες για τον επεξεργαστή.

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

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

Το υπό εξέταση πρόγραμμα περιλαμβάνει τις ακόλουθες οδηγίες:

    τμήμα - οδηγία για τη δήλωση της έναρξης ενός τμήματος.

    Το dw (καθορισμός λέξης) είναι μια οδηγία 16 bit για τον ορισμό δεδομένων (κατανομή και εκκίνηση μιας περιοχής μνήμης).

    άκρα (τελικό τμήμα) - οδηγία για τη δήλωση του τέλους του τμήματος.

    υποθέτω - οδηγία για την εκχώρηση καταχωρητή τμημάτων σε τμήμα.

    end - οδηγία που υποδεικνύει το τέλος του προγράμματος, το επιχείρημα του πρέπει να είναι η ετικέτα της πρώτης εντολής του προγράμματος - το σημείο εισόδου στο πρόγραμμα.

Υπάρχουν επίσης οι ακόλουθες οδηγίες καθορισμού δεδομένων:

    db (καθορισμός byte) - οδηγία για τον καθορισμό μιας περιοχής μνήμης σε 8 bits.

    dd (καθορισμός διπλής λέξης) είναι μια οδηγία για τον καθορισμό μιας περιοχής μνήμης 32-bit.

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

    386 - χρησιμοποιούνται εντολές εκτός συστήματος του επεξεργαστή i80386.

    386p - χρησιμοποιούνται όλες οι εντολές επεξεργαστή i80386, συμπεριλαμβανομένων των εντολών συστήματος.

Οι γραμμές 3-5 περιέχουν τις οδηγίες για τον καθορισμό των μεταβλητών A, B και S. Συλλογικά, οι γραμμές 3-5 και 9-15 περιέχουν πληροφορίες επεξεργαστή-ένα πρόγραμμα που περιλαμβάνει οδηγίες και δεδομένα. Αντιστοιχίζονται απευθείας στη μνήμη του υπολογιστή.

Ραντεβού

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

Ένας άλλος σημαντικός σκοπός του πηγαίου κώδικα είναι η περιγραφή ενός προγράμματος. Χρησιμοποιώντας το κείμενο του προγράμματος, μπορείτε να επαναφέρετε τη λογική της συμπεριφοράς του. Τα σχόλια χρησιμοποιούνται για να καταστήσουν ευκολότερη την κατανόηση του πηγαίου κώδικα. Υπάρχουν επίσης εργαλεία που σας επιτρέπουν να ανακτήσετε αυτόματα την τεκμηρίωση από τον πηγαίο κώδικα - το λεγόμενο. γεννήτριες τεκμηρίωσης.

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

Οι προγραμματιστές συχνά μεταφέρουν τον πηγαίο κώδικα από το ένα έργο στο άλλο, ο οποίος ονομάζεται επαναχρησιμοποίηση κώδικα ( Επαναχρησιμοποίηση λογισμικού).

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

Οργάνωση

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

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

Για τη διευκόλυνση της εργασίας με τον πηγαίο κώδικα, για κοινή εργασία στον κώδικα από μια ομάδα προγραμματιστών, χρησιμοποιούνται συστήματα ελέγχου έκδοσης.

Ποιότητα

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

  • αναγνωσιμότητα του κώδικα (συμπεριλαμβανομένης της παρουσίας ή απουσίας σχολίων στον κώδικα ·
  • ευκολία υποστήριξης, δοκιμών, εντοπισμού σφαλμάτων και διόρθωσης σφαλμάτων, τροποποίησης και μεταφοράς ·
  • χαμηλή πολυπλοκότητα?
  • χαμηλή χρήση πόρων - μνήμη, επεξεργαστής, χώρος στο δίσκο.
  • Δεν εμφανίζονται σχόλια από τον μεταγλωττιστή.
  • χωρίς "σκουπίδια" - αχρησιμοποίητες μεταβλητές, απρόσιτα μπλοκ κώδικα, περιττά ξεπερασμένα σχόλια κ.λπ.

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

Ραντεβού

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

Ένας άλλος σημαντικός σκοπός του πηγαίου κώδικα είναι η περιγραφή ενός προγράμματος. Χρησιμοποιώντας το κείμενο του προγράμματος, μπορείτε να επαναφέρετε τη λογική της συμπεριφοράς του. Τα σχόλια χρησιμοποιούνται για να καταστήσουν ευκολότερη την κατανόηση του πηγαίου κώδικα. Υπάρχουν επίσης εργαλεία που σας επιτρέπουν να ανακτήσετε αυτόματα την τεκμηρίωση από τον πηγαίο κώδικα - το λεγόμενο. γεννήτριες τεκμηρίωσης.

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

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

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

Οργάνωση

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

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

Τα συστήματα ελέγχου έκδοσης χρησιμοποιούνται για να διευκολύνουν την εργασία με τον πηγαίο κώδικα και τη συνεργασία στον κώδικα με μια ομάδα προγραμματιστών.

Ποιότητα

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

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

Μη εκτελέσιμος πηγαίος κώδικας

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

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

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

δείτε επίσης