Βιβλιοθήκη (υπολογιστές): Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
JohnMad (συζήτηση | συνεισφορές)
μ To "Βιβλιοθήκη (επιστήμη υπολογιστών)" μετακινήθηκε στο "Βιβλιοθήκη (υπολογιστές)": Για λόγους συνέπειας, ώστε όλες οι ανάλογες σελίδες ν�
JohnMad (συζήτηση | συνεισφορές)
Χωρίς σύνοψη επεξεργασίας
Γραμμή 4:
Οι βιβλιοθήκες περιέχουν υποβοηθητικό κώδικα-δεδομένα
παρέχοντας υπηρεσίες σε προγράμματα. Αυτό επιτρέπει
τον διαμοιρασμό και τροποποίηση κώδικα και δεδομένων με [[άρθρωμα (προγραμματισμόςυπολογιστές)|αρθρωτό]] τρόπο.
Μερικά [[εκτελέσιμο (επιστήμη υπολογιστώνυπολογιστές)|εκτελέσιμα]] είναι προγράμματα και βιβλιοθήκες μαζί αλλά οι περισσότερες
βιβλιοθήκες δεν είναι εκτελέσιμα.Τα εκτελέσιμα και οι βιβλιοθήκες
κάνουν αναφορές το ένα στο άλλο γνωστές ως ''συνδέσεις'' μέσω μιας διαδικασίας που ονομάζεται ''σύνδεση'' και την πραγματοποιεί ο [[συνδέτης]].
Γραμμή 23:
== Παραδοσιακές βιβλιοθήκες ==
Ιστορικά οι βιβλιοθήκες αποτελούνταν από ένα σύνολο ρουτινών
που αντιγράφονταν από τον μεταγλωττιστή,συνδετή / συνδέτη μέσα στο πρόγραμμα-στόχο δίνοντας μια εκτελέσιμη εφαρμογή. Οι δημιουργοί των μεταγλωττιστών παρείχαν πρότυπες βιβλιοθήκες (πχ η πρότυπη βιβλιοθήκη της C) αλλά οι προγραμματιστές μπορούσαν να δημιουργήσουν και τις δικές τους.
των μεταγλωττιστών παρείχαν στάνταρ βιβλιοθήκες (πχ η στάνταρ βιβλιοθήκη της C) αλλα οι προγραμματιστές μπορούσαν να
δημιουργήσουν και τις δικές τους.
 
== Δυναμική σύνδεση ==
'''Δυναμική σύνδεση''' σημαίνει ότι τα δεδομένα και ο κώδικας μιας
βιβλιοθήκης δεν αντιγράφονται σε ένα νέο εκτελέσιμο αρχείο
ή σε μια νέα βιβλιοθήκη στον [[χρόνος μεταγλώττισης|χρόνο μεταγλώττισης]], αλλά παραμένουν σε ένα ξεχωριστό αρχείο στο δίσκο.
Η μόνη ελάχιστήελάχιστη εργασία που κάνει ο [[συνδέτης]] , σε χρόνο
στον δίσκο.
Η μόνη ελάχιστή εργασία που κάνει ο [[συνδέτης]] , σε χρόνο
μεταγλώττισης ,είναι
να καταγράφει τις βιβλιοθήκες ,και ποιές συναρτήσεις μέσα σε αυτές, χρειάζεται το εκτελέσιμο. Η κυρίως δουλειά της σύνδεσης γίνεται
Γραμμή 54 ⟶ 51 :
 
Αυτό συμβαίνει γιατί οι διευθύνσεις μνήμης που χρησιμοποιούνται
εξαρτώνται από το ποιέςποιες δυναμικές βιβλιοθήκες θα φορτωθούν. Δεν
είναι δυνατό να αποθηκεύσουμε μια απόλυτη διεύθυνση δεδομένων
βιβλιοθήκης μέσα στο εκτελέσιμο ούτε καν στη βιβλιοθήκη,
αφού τότε θα προέκυπταν συγκρούσεις ανάμεσα σε διαφορετικές
βιβλιοθήκες, πχ αν δύο βιβλιοθήκες καθόριζαν αλληλοκαλυπτόμενεςεπικαλυπτόμενες
διευθύνσεις για κάποια δεδομένα-κώδικά τους.
 
Γραμμή 65 ⟶ 62 :
σε δεδομένα βιβλιοθηκών με δείκτες στις ανάλογες θέσεις μνήμης
αφού θα έχουν φορτωθεί οι βιβλιοθήκες στη μνήμη, αλλά αυτή
η μέθοδος είναι μηαποδεχτήμη αποδεκτή καθώς θα κατανάλωνε αρκετό χρόνο και
μνήμη.
Αντίθετα τα περισσότερα δυναμικά συστήματα σύνδεσης συνδέουν με το
Γραμμή 85 ⟶ 82 :
 
 
=== Εντοπίζοντας βιβλιοθήκες σε τρέχων χρόνο εκτέλεσης ===
 
Οι δυναμικοί φορτωτές/συνδέτες διαφέρουν σε λειτουργικότητα.