1 Τοποθετήστε το C IDE από κλικ στο εικονίδιο του προγράμματος του . Όταν ανοίγει , επιλέξτε " File /New /Project" και επιλέξτε " C Project" για να δημιουργήσετε ένα νέο έργο C . Ένα κενό αρχείο πηγαίου κώδικα εμφανίζεται στο τμήμα επεξεργασίας κειμένου του IDE . 2
Δημιουργήστε μια " struct " που ονομάζεται "A" με την ευθυγράμμιση προεπιλεγμένη μνήμη . Γράψτε την ακόλουθη δήλωση στην κορυφή του αρχείου πηγαίου κώδικα :
struct { } Α ?
Εικόνων 3
Προσθέστε κάποια μέλη δεδομένων στο struct " Α. " Με τη μίξη και ακέραιος χαρακτήρας είδη , σας εξασφαλίζει ότι ο compiler μαξιλάρια τη δομή . Σε ένα σύστημα 32 - bit , οι δύο πρώτοι τύποι δεδομένων int κάθε λάβουν έως και τέσσερα byte της μνήμης και εναρμονίζονται απόλυτα όπως είναι . Ωστόσο, τα δύο χαρακτηριστικά τύπους δεδομένων κάθε λάβουν ένα μόνο byte , και μαζί καταλαμβάνουν δύο bytes δεδομένων . Ο compiler βούληση pad αυτό με δύο bytes των δεδομένων σκουπίδια να ευθυγραμμιστούν σωστά τα δεδομένα . Προσθέστε τις ακόλουθες δηλώσεις προς struct " A " με την τοποθέτηση τους ανάμεσα στις αγκύλες μετά τη λέξη
int ένα " struct ". ?
Int b ?
Char a ?
char b ?
Η 4
Δημιουργήστε μια οδηγία προεπεξεργαστή που λέει να ευθυγραμμιστεί με το όριο 1 - byte , δεν είναι το όριο 4 - byte :
# pragma πακέτο (push , 1 )
5
Δημιουργήστε μια άλλη struct , αυτό που ονομάζεται " B " και τοποθετήστε το αμέσως μετά η οδηγία προεπεξεργαστή γραμμένο στο προηγούμενο βήμα .
struct { } Β ?
Η 6
Συμπληρώστε struct "Β" με τους ίδιους τύπους δεδομένων struct " A", γράφοντας τις ακόλουθες δηλώσεις μέσα στις αγκύλες του struct " Β. " Αυτοί οι τύποι δεδομένων που θα παρατάξει στο πλησιέστερο byte , η οποία συμβαίνει να είναι 10 ( τέσσερα για κάθε int , ένα για κάθε char ) . Δεν θα υπάρξει padding σε αυτή τη δομή
int a ? .
Int b ?
Char a ?
Char b ?
7
Επαναφορά την ευθυγράμμιση πίσω στην προεπιλογή του , γράφοντας την ακόλουθη δήλωση :
pack # pragma ( pop )
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα