Είναι δωρεάν η εκχωρημένη μνήμη;

Πίνακας περιεχομένων:

Είναι δωρεάν η εκχωρημένη μνήμη;
Είναι δωρεάν η εκχωρημένη μνήμη;
Anonim

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

Πώς γίνεται δωρεάν η εκχωρημένη μνήμη;

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

Τι θα συμβεί εάν δεν ελευθερώσετε την εκχωρημένη μνήμη;

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

Είναι ακριβή η κατανομή μνήμης;

Μια απλή μέτρηση του κόστους εκχώρησης και απελευθέρωσης μεγάλων μπλοκ μνήμης θα συμπεράνει ότι κοστίζει περίπου 7,5 μs για κάθε κατανομή/δωρεάν ζεύγος. Ωστόσο, υπάρχουν τρία ξεχωριστά κόστη ανά MB για μεγάλες κατανομές.

Μπορεί να ανακατανεμηθεί ο εκχωρημένος χώρος μνήμης, εάν ναι, πώς;

Η συνάρτηση realloc εκχωρεί, ανακατανέμει ή ελευθερώνει το μπλοκ μνήμης που καθορίζεται από το old_blk με βάση τους ακόλουθους κανόνες: Εάν το old_blk είναι NULL, ένα νέο μπλοκ μνήμης μεγέθους byte είναικατανέμεται. Εάν το μέγεθος είναι μηδέν, η ελεύθερη συνάρτηση καλείται να απελευθερώσει τη μνήμη που δείχνει το old_blk.

Συνιστάται:

Ενδιαφέροντα άρθρα
Γιατί σκοτώθηκε ο Μπέρια;
Διαβάστε περισσότερα

Γιατί σκοτώθηκε ο Μπέρια;

Ένα πραξικόπημα του Νικήτα Χρουστσόφ, με τη βοήθεια του Στρατάρχη της Σοβιετικής Ένωσης Γκεόργκι Ζούκοφ, τον Ιούνιο του 1953 αφαίρεσε τον Μπέρια από την εξουσία. Αφού συνελήφθη, δικάστηκε για προδοσία και άλλα αδικήματα, καταδικάστηκε σε θάνατο και εκτελέστηκε στις 23 Δεκεμβρίου 1953.

Ποιος εφηύρε πρώτος τις μαράκες;
Διαβάστε περισσότερα

Ποιος εφηύρε πρώτος τις μαράκες;

Οι μαράκες πιστεύεται ότι είναι εφευρέσεις των των Tainos, είναι οι ιθαγενείς Ινδοί του Πουέρτο Ρίκο. Κατασκευάστηκε αρχικά από τον καρπό του δέντρου higuera που έχει στρογγυλό σχήμα. Πότε εφευρέθηκαν για πρώτη φορά οι μαράκες; Οι Αραουκάνοι, που ζουν στη σημερινή κεντρική Χιλή, μπορεί να ήταν οι πρώτοι που χρησιμοποίησαν τη λέξη maraca για να περιγράψουν μια κουδουνίστρα κολοκύθας γύρω στο 500 π.

Είναι οι μαράκες κρουστά;
Διαβάστε περισσότερα

Είναι οι μαράκες κρουστά;

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