Όταν ένας προγραμματιστής ορίζει μια συνάρτηση , το πράττει για να καθορίσετε ένα μπλοκ κώδικα σε ένα σημείο . Συχνά , ο κώδικας στη συνάρτηση χρησιμοποιείται κατ 'επανάληψη , ή εκτελεί μια πολύπλοκη εργασία που ο προγραμματιστής μπορεί να θέλουν να τροποποιήσουν ή να αλλάξουν στο μέλλον . Ο προγραμματιστής μπορεί στη συνέχεια αναφορά αυτή τη λειτουργία σε όλο το πρόγραμμα , χρησιμοποιώντας το όνομά του . Αυτό επιτρέπει την επαναχρησιμοποίηση του κώδικα στο ίδιο πρόγραμμα ή σε πολλαπλές προγράμματα . . Αυτή ακόλουθο παράδειγμα εμφανίζει μια βασική λειτουργία
int myFunc ( ) {
επιστρέψει 2 +3 ?
}
Η
λειτουργίες Inline
Η
Όταν οι λειτουργίες καλούνται σε όλη προγράμματα , ωστόσο , ειδικό κωδικό πρέπει να γραφτεί από τον compiler για την αναφορά του λειτουργία . Αυτό είναι επειδή ο κώδικας λειτουργίας κατοικεί στη μνήμη σε μια συγκεκριμένη θέση , χωριστά από άλλα εκτέλεση κώδικα . Βασικά , αυτό σημαίνει ότι ο κώδικας εκτέλεσης πρέπει να προχωρήσουμε σε μια διαφορετική θέση μνήμης , εκτελέστε τον κώδικα της συνάρτησης , και στη συνέχεια να επιστρέψει πίσω στο αρχικό κώδικα . Για τη βελτιστοποίηση της ταχύτητας , C περιλαμβάνει το " inline " κλειδί , το οποίο αφηγείται την compiler να αντιγράψετε τον κώδικα της συνάρτησης σε κώδικα εκτέλεσης , όταν το όνομα της συνάρτησης καλείται , αντί να πάρετε τον κωδικό λειτουργίας από τη μνήμη .
Η
Inline στατική Λειτουργίες
Η
Μια «στατική» λειτουργία λέει ο compiler που άλλα αρχεία του προγράμματος δεν μπορούν να δουν ή να αποκτήσετε πρόσβαση στη λειτουργία . Μόνο οι λοιπές λειτουργίες από το ίδιο αρχείο μπορεί να δει μια στατική λειτουργία . Ως εκ τούτου , για να δηλώσει μια τοπική λειτουργία μόνο στο αρχείο ο προγραμματιστής ορίζει το , και βελτιστοποιημένη για την ταχύτητα από την υφιστάμενη ως ενσωματωμένη συνάρτηση , ένας προγραμματιστής θα χρησιμοποιήσει τα " στατικά " και " inline " λέξεις-κλειδιά για να ορίσει τις λειτουργίες , όπως σε αυτό το παράδειγμα .
στατική άκυρη inline myFunc ( ) {
/* Κωδικός * /
εικόνων Παραδείγματα
Η
Χρησιμοποιώντας στατικές λειτουργίες inline επιτρέπει πολλαπλές C αρχεία για να χρησιμοποιούν τα ίδια ονόματα λειτουργία σε πολλαπλά αρχεία . Για παράδειγμα , σκεφτείτε αυτά τα δύο παραδείγματα λειτουργίας . Η πρώτη λειτουργία υπάρχει στο " one.h » και η δεύτερη το " two.h. " Επειδή οι λειτουργίες είναι στατική, δεν θα έρχονται σε σύγκρουση όταν καλείται η συνάρτηση σε ένα αρχείο ή τον άλλο . Επιπλέον , ο compiler θα τοποθετήσετε τον κώδικα για κάθε λειτουργία απευθείας στον κώδικα την εκτέλεση του έργου , αντί να παραπέμπει σε λειτουργία από τη μνήμη .
//Από one.h
στατική άκυρη inline myFunc ( ) {
/* Κωδικός * /
}
//από two.h
στατική άκυρη inline myFunc ( ) {
/* Κωδικός * /
}
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα