Πάρτε το πρόγραμμα more.c της Άσκησης 1 (προβολή ενός αρχείου κειμένου ανά 20 γραμμές)
και οργανώστε το σε πολλαπλά αρχεία:
1. Μεταφέρετε τη λογική ανάγνωσης και προβολής γραμμών σε ένα άρθρωμα pager.c με
αντίστοιχο pager.h, αφήνοντας στη main μόνο τον χειρισμό των ορισμάτων γραμμής
εντολής και το άνοιγμα του αρχείου.
2. Βάλτε include guard στο pager.h.
3. Κάντε τη σταθερά των 20 γραμμών static μέσα στο pager.c, ώστε να μην είναι
ορατή από το main.c.
4. Μεταγλωττίστε πρώτα με το χέρι (gcc -c και σύνδεση) και μετά γράψτε ένα
Makefile που κάνει το ίδιο. Επιβεβαιώστε ότι μετά από αλλαγή μόνο στο main.c το
make ξαναμεταγλωττίζει μόνο αυτό.
5. Προσθέστε στο Makefile έναν στόχο clean.
Ακολουθήστε το παράδειγμα collatz.h / collatz.c / main.c του παραρτήματος του
εργαστηρίου: στο .h μόνο πρωτότυπα μέσα σε #ifndef/#define/#endif, και
#include "pager.h" με εισαγωγικά και στα δύο .c. Στο Makefile, κάθε .o πρέπει να
εξαρτάται και από το .h που συμπεριλαμβάνει, και οι εντολές ξεκινούν με tab. Για τον
έλεγχο του 4, αλλάξτε το main.c (ή κάντε touch) και ξανατρέξτε make.
Αριθμός στον οδηγό: Α23.5
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: lab-lab10-more-modules ·
Σύνδεσμος: https://progintro.github.io/study/questions/labs/lab-lab10-more-modules.html ·
Markdown (GitHub)