1. Ο πηγαίος κώδικας (αρχείο .c):
Γράφετε το πρόγραμμα C σας σε ένα αρχείο με την επέκταση `.c` (π.χ.` myprogram.c`).
2. Προεπεξεργασία:
Ο προεπεξεργαστής (`CPP`) χειρίζεται οδηγίες ξεκινώντας με`#`στον κωδικό σας. Αυτό περιλαμβάνει:
* συμπεριλαμβανομένων αρχείων κεφαλίδας: Δηλώσεις όπως `#include
* Επέκταση μακροεντολής: Οι μακροεντολές που ορίζονται χρησιμοποιώντας `#define` αντικαθίστανται με τους ορισμούς τους.
* υπό όρους συλλογής: Οδηγίες όπως το `#ifdef` ελέγχει ποια μέρη του κώδικα καταρτίζονται με βάση τις συνθήκες.
Η έξοδος αυτού του σταδίου δεν είναι άμεσα αναγνώσιμη από τον άνθρωπο. Είναι μια τροποποιημένη έκδοση του πηγαίου κώδικα σας.
3. Σύνταξη:
Ο μεταγλωττιστής (`GCC`) μεταφράζει τον προεπεξεργασμένο κώδικα στη γλώσσα συναρμολόγησης, ειδικά για την αρχιτεκτονική CPU-Target (π.χ. x86-64). Αυτός ο κωδικός συναρμολόγησης αντιπροσωπεύει το πρόγραμμά σας σε μορφή χαμηλού επιπέδου που ο υπολογιστής μπορεί να κατανοήσει πιο άμεσα.
4. Συναρμολόγηση:
Ο Assembler (`as`) μετατρέπει τον κωδικό συναρμολόγησης σε κωδικό αντικειμένου. Τα αρχεία αντικειμένων (τυπικά με επέκταση `.o`, π.χ.` myprogram.o`) περιέχουν οδηγίες μηχανής, αλλά δεν είναι ακόμη πλήρως εκτελέσιμα επειδή μπορεί να εξαρτώνται από άλλα αρχεία αντικειμένων ή βιβλιοθήκες.
5. Σύνδεση:
Ο σύνδεσμος (`ld`) συνδυάζει τον κωδικό αντικειμένου του προγράμματος σας με τις απαραίτητες βιβλιοθήκες (όπως η τυπική βιβλιοθήκη C,` libc`) για τη δημιουργία ενός ενιαίου εκτελέσιμου αρχείου. Αυτό περιλαμβάνει την επίλυση αναφορών μεταξύ διαφορετικών τμημάτων του κώδικα και την ενσωμάτωση των απαιτούμενων λειτουργιών της βιβλιοθήκης.
Η εντολή συλλογής:
Η τυπική εντολή για τη σύνταξη ενός προγράμματος C στο CentOS χρησιμοποιώντας το GCC είναι:
`` `bash
gcc myprogram.c -o myProgram
`` `
* `GCC`:επικαλείται τον μεταγλωττιστή GCC.
* `myProgram.c`:Καθορίζει το αρχείο πηγαίου κώδικα.
* `-o myProgram`:Καθορίζει το όνομα του εκτελέσιμου αρχείου εξόδου. Εάν παραλειφθεί, το προεπιλεγμένο εκτελέσιμο όνομα θα είναι `a.out '.
Παράδειγμα:
Ας πούμε ότι έχετε `myprogram.c`:
`` `c
#include
int main () {
printf ("Γεια σας, κόσμος! \ n");
επιστροφή 0;
}
`` `
Θα το συντάσσετε και θα το εκτελέσετε έτσι:
`` `bash
gcc myprogram.c -o myProgram
./myprogram
`` `
Αυτό θα παράγει ένα εκτελέσιμο αρχείο με το όνομα `MyProgram`, το οποίο στη συνέχεια μπορείτε να εκτελέσετε από τη γραμμή εντολών. Η έξοδος θα είναι "Γεια σας, κόσμος!".
πιο προηγμένη συλλογή:
* Αρχεία προέλευσης: Εάν το πρόγραμμά σας έχει διαδοθεί σε πολλαπλά αρχεία `.c`, μπορείτε να τα καταρτίσετε όλα ταυτόχρονα:
`` `bash
GCC File1.c File2.c -o MyProgram
`` `
* Βελτιστοποίηση: Οι σημαίες όπως το `-O2` (βελτιστοποίηση επιπέδου 2) μπορούν να βελτιώσουν την απόδοση του εκτελέσιμου σας.
`` `bash
GCC myprogram.c -o myprogram -o2
`` `
* Debugging: Η σημαία `-g` προσθέτει πληροφορίες εντοπισμού σφαλμάτων στο εκτελέσιμο, καθιστώντας ευκολότερη τη χρήση ενός εντοπισμού σφαλμάτων όπως το` GDB`.
`` `bash
GCC myprogram.c -o myprogram -g
`` `
Συνοπτικά, η σύνταξη ενός προγράμματος C στο CentOS περιλαμβάνει μια σειρά βημάτων που ενορχηστρώνεται από την εργαλειοθήκη του GCC, μετατρέποντας τον κώδικα που μπορεί να διαβάσει από τον άνθρωπο σε ένα πρόγραμμα που διεξήχθη σε μηχανή. Η κατανόηση αυτών των βημάτων μπορεί να σας βοηθήσει να διαγνώσετε σφάλματα συλλογής και να βελτιστοποιήσετε τη διαδικασία δημιουργίας σας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα