Skip to main content

Τι είναι ένα ιθαγενές κιτ ανάπτυξης;

Στον προγραμματισμό υπολογιστών και την ανάπτυξη λογισμικού, ένα ιθαγενή κιτ ανάπτυξης (NDK) είναι συνήθως μια αφηρημένη διεπαφή προγραμματισμού (API) που παρέχει στον προγραμματιστή τη δυνατότητα να χρησιμοποιεί λειτουργίες ή να εκτελέσει κώδικα απευθείας μέσω του βασικού λειτουργικού συστήματος.Αυτή η μέθοδος εκτέλεσης ενός προγράμματος είναι σαφώς διαφορετική από τη λειτουργία διαχειριζόμενου κώδικα ή ερμηνευμένα προγράμματα, στα οποία ο κώδικας που γράφεται εκτελείται από εικονική μηχανή ή διερμηνέα που λειτουργεί ως στρώμα λογισμικού μεταξύ των λειτουργιών του βασικού λειτουργικού συστήματος και του κώδικα χρήστη.Η χρήση ενός ιθαγενή κιτ ανάπτυξης μπορεί να είναι απαραίτητη σε εφαρμογές που απαιτούν την ταχύτερη δυνατή εκτέλεση και τους χρόνους επεξεργασίας, επειδή μπορεί να παρέχει άμεση πρόσβαση σε υλικό και βιβλιοθήκες που χρησιμοποιεί το λειτουργικό σύστημα.Ανάλογα με τον τύπο του προγράμματος που γράφεται και το λειτουργικό σύστημα -στόχου, η χρήση ενός ιθαγενή κιτ ανάπτυξης μπορεί να μην αυξήσει καθόλου την ταχύτητα του προγράμματος και θα μπορούσε να κάνει κώδικα που είναι δύσκολο να διατηρηθεί, να διαβάσει και να λιμανιέται σε άλλα συστήματα.γράφονται για ορισμένες συσκευές, όπως τα έξυπνα τηλέφωνα, ή η χρήση ερμηνευμένων γλωσσών υπολογιστών δεν εκτελούνται απευθείας από τις διαδικασίες του βασικού λειτουργικού συστήματος ή από τον πυρήνα.Αντ 'αυτού, ο κωδικός προγράμματος εκτελείται από ξεχωριστό πρόγραμμα γνωστό ως εικονική μηχανή (VM) ή διερμηνέας.Το εικονικό μηχάνημα διαβάζει τον κώδικα, επεκτείνει και επιλύει τις εντολές και διασυνδέεται με τον πυρήνα για να εκτελέσει τον κώδικα.Αυτό μπορεί να είναι επωφελές για ορισμένους προγραμματιστές, επειδή παρέχει ένα καλό στρώμα αφαίρεσης για τη φορητότητα και αφήνει πολλές πολύπλοκες λεπτομέρειες, όπως η διαχείριση των πόρων και ο χειρισμός των αρχείων, στους δημιουργούς της εικονικής μηχανής.Το μηχάνημα μπορεί να αποτελέσει εμπόδιο σε ορισμένα είδη προγραμμάτων.Το VM μπορεί να επιβραδύνει την εκτέλεση ή να αποτύχει να παρέχει πρόσβαση σε ορισμένες λειτουργίες εντός του πυρήνα του ξενιστή.Ένα ιθαγενή κιτ ανάπτυξης για το λειτουργικό σύστημα ή τη συσκευή στόχου εκθέτει τις λειτουργίες του πυρήνα στην εφαρμογή που γράφεται.Ανάλογα με την έκταση του κιτ, αυτό μπορεί να επιτρέψει σε ένα πρόγραμμα να αποκτήσει άμεση πρόσβαση στο υλικό, να φορτώσει τις δικές του προσαρμοσμένες βιβλιοθήκες στον πυρήνα ή να χρησιμοποιεί βελτιστοποιήσεις ειδικών για το σύστημα.ενός προγράμματος.Αυτά μπορεί να είναι υπολογισμοί επεξεργασίας γραφικών, έξοδος στην είσοδο και την έξοδο της οθόνης ή του αρχείου.Όχι όλα τα προγράμματα που χρησιμοποιούν φυσικές λειτουργίες ή ρουτίνες θα δουν ένα όφελος ταχύτητας, επειδή η εικονική μηχανή μπορεί να κάνει ήδη βελτιστοποιήσεις στον διαχειριζόμενο κώδικα, έτσι ώστε ο προκύπτων κώδικα μηχανής να είναι πανομοιότυπος, ανεξάρτητα από το αν χρησιμοποιούνται φυσικές λειτουργίες.Επιπλέον, ο εγγενής κώδικας συνδέει ένα πρόγραμμα σε μια συγκεκριμένη εφαρμογή ενός λειτουργικού συστήματος και μερικές φορές μια συγκεκριμένη έκδοση μιας συσκευής, που σημαίνει ότι ο κώδικας χρησιμοποιώντας ένα ιθαγενή κιτ ανάπτυξης μπορεί να μην μεταφερθεί εύκολα σε άλλα συστήματα.