Διαφορά μεταξύ συναρμολόγησης και DLL

Anonim

Συνέλευση vs DLL

Μια βιβλιοθήκη είναι μια συλλογή πόρων που μπορούν να χρησιμοποιηθούν για την ανάπτυξη εφαρμογών. Μια βιβλιοθήκη αποτελείται συνήθως από υπορουτίνες, λειτουργίες, κλάσεις, τιμές και τύπους. Κατά τη διάρκεια της διαδικασίας σύνδεσης (συνήθως γίνεται από έναν συνδέσμο), οι βιβλιοθήκες και τα εκτελέσιμα στοιχεία κάνουν αναφορά μεταξύ τους. Τα αρχεία DLL είναι τα αρχεία βιβλιοθήκης που συνδέονται δυναμικά. Το DLL αναπτύχθηκε από τη Microsoft. Ωστόσο, λόγω ορισμένων προβλημάτων που παρουσιάζονται στα αρχεία DLL, η Microsoft ήρθε με τη μορφή αρχείου συναρμολόγησης (με το πλαίσιο.NET). Τα αρχεία συναρμολόγησης είναι πολύ παρόμοια με τα αρχεία DLL, αλλά έχουν πολλές εσωτερικές διαφορές.

Τι είναι το DLL;

Η βιβλιοθήκη δυναμικής σύνδεσης (πιο γνωστή ως DLL) είναι μια εφαρμογή κοινής βιβλιοθήκης που αναπτύχθηκε από τη Microsoft. Χρησιμοποιεί το. dll,. ocx ή. drv επεκτάσεις και χρησιμοποιούνται σε λειτουργικά συστήματα Microsoft Windows και OS / 2 … dll χρησιμοποιείται από τα κανονικά αρχεία DLL. Και. ocx επέκταση χρησιμοποιείται από τις βιβλιοθήκες που περιέχουν στοιχεία ελέγχου ActiveX και. Η επέκταση drv χρησιμοποιείται από αρχεία προγράμματος οδήγησης παλαιού τύπου. Η μορφή αρχείου DLL είναι ίδια με τα αρχεία των Windows EXE (αρχεία Portable Executable σε Windows 32 bit / 64 bit και New Executable σε 16bit Windows). Ως εκ τούτου, οποιοσδήποτε συνδυασμός κώδικα, δεδομένων και πόρων μπορεί να περιέχεται σε αρχεία DLL (όπως και σε αρχεία EXE). Ως ουσία, τα αρχεία δεδομένων με τη μορφή αρχείου DLL ονομάζονται DLL πόρων. Οι βιβλιοθήκες εικονιδίων (με επέκταση ICL.) Και τα αρχεία γραμματοσειρών (με τις επεκτάσεις.fon και. Fot) αποτελούν παραδείγματα DLL πόρων.

Τα συστατικά που ονομάζονται τμήματα αποτελούν ένα DLL και κάθε τμήμα έχει τα δικά του χαρακτηριστικά όπως το μόνο για ανάγνωση / εγγράψιμο και εκτελέσιμο / μη εκτελέσιμο. Οι ενότητες κώδικα είναι εκτελέσιμες, ενώ οι ενότητες δεδομένων δεν είναι εκτελέσιμες. Οι ενότητες κώδικα είναι κοινές και οι ενότητες δεδομένων είναι ιδιωτικές. Αυτό σημαίνει ότι όλες οι διαδικασίες που χρησιμοποιούν το DLL θα χρησιμοποιούν το ίδιο αντίγραφο του κώδικα, ενώ κάθε διαδικασία θα έχει δικό της αντίγραφο των δεδομένων. Η κύρια δυναμική βιβλιοθήκη για τα Windows είναι το kernel32. dll, η οποία περιέχει τις βασικές λειτουργίες (λειτουργικότητα αρχείων και μνήμης) στα Windows. Το COM (Μοντέλο Αντικειμένου Συστήματος) είναι η επέκταση του DLL σε OOP (Αντικειμενοστρεφής Προγραμματισμός). Τα συμβατικά DLL είναι πιο εύχρηστα από τα αρχεία COM.

Τι είναι μια Συνέλευση;

Τα αρχεία συναρμολόγησης εισήχθησαν από τη Microsoft για να επιλύσουν διάφορα προβλήματα που παρουσιάζονται στα αρχεία DLL. Τα αρχεία συναρμολόγησης εισήχθησαν με τη Microsoft. Πλαίσιο δικτύου. Μια εκτελέσιμη λογική μονάδα λειτουργικότητας ονομάζεται Συνέλευση. Οι συναρμολογήσεις είναι εκτελέσιμες κάτω από. NET CLR (κοινή γλώσσα χρόνου εκτέλεσης). Φυσικά, τα συγκροτήματα υπάρχουν ως αρχεία EXE ή DLL. Αλλά, είναι πολύ διαφορετικά από τα Microsoft Win32 DLLs, εσωτερικά. Ένα αρχείο συναρμολόγησης αποτελείται από ένα δηλωτικό, μεταδεδομένα, MISL (κώδικας ενδιάμεσης γλώσσας της Microsoft) και άλλους πόρους.Μια συναρμολόγηση είναι αυτο-περιγράφει. Το δηλωτικό περιέχει τις πληροφορίες όπως το όνομα, την έκδοση, τον πολιτισμό, το ισχυρό όνομα, τη λίστα αρχείων, τους τύπους και τις εξαρτήσεις. Ο κώδικας MISL εκτελείται μέσω του CLR (δεν μπορεί να εκτελεστεί άμεσα).

Ποια είναι η διαφορά μεταξύ συναρμολόγησης και DLL;

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