Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α26.1 · Τα στάδια του C build process

How to Make? (προσκεκλημένη διάλεξη), διαφάνεια 5 · Δυσκολία ★☆☆ · short-answer · Κεφάλαια: 26, 0

«Say ‘Aye’ if you know what this is!» Η διαφάνεια δείχνει το παρακάτω διάγραμμα:

Translation Unit (.c) -> Preprocessor (cpp) -> Preprocessed Translation Unit (.c)
  -> Compiler (gcc) -> Object File (.o) -> Linker (ld) -> Executable
                        Object File (.o) -----^
                   Dynamic Library (.so) -----^

Εξηγήστε τι κάνει το καθένα από τα τρία στάδια (preprocessor, compiler, linker) και τι παράγει. Γιατί ο linker δέχεται και άλλα object files και δυναμικές βιβλιοθήκες;

Υπόδειξη

Σκεφτείτε τι απογίνονται οι οδηγίες #include και #define, σε ποιο στάδιο ο κώδικας γίνεται γλώσσα μηχανής, και πού βρίσκεται η υλοποίηση της printf που καλεί το πρόγραμμά σας.

Αριθμός στον οδηγό: Α26.1 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lecmake-build-pipeline · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lecmake-build-pipeline.html · Markdown (GitHub)