η 2η εντολή είναι η στάνταρτ του gcc για να κάνει compile & link πολλά αρχεία, είτε είναι .c είτε .o ...
- Κώδικας: Επιλογή όλων
gcc src1.c src2.c src3.c obj1.o obj2.o
Το -o filename στο τέλος είναι προαιρετικό για να ορίσεις δικό σου όνομα στο εκτελέσιμο που θα παραχθεί, αλλιώς θα το ονομάσει a.out.
Όσο για το b=0, αυτό πρέπει να το προβλέψεις στον κώδικά σου, δεν έχει καμία σχέση με τη γραμμή εντολών του gcc.
Τα .h δεν μπαίνουν στη γραμμή εντολών του gcc (δεν είμαι 100% σίγουρος) ... αυτά τα κάνεις #include μέσα στα πηγαία αρχεία σου (.c)... στη γραμμή εντολών του gcc μπορείς να χρησιμοποιήσεις το flag -I (κεφαλαίο i) και να του κολλήσεις μια διαδρομή φακέλων στους οποίους μπορείς να έχεις μαζεμένα .h αρχεία, για να τα βρίσκει όταν αναφέρονται σε αυτά τα πηγαία αρχεία σου.
Και τέλος, όχι δεν έχεις βιβλιοθήκη με την ευρύτερη έννοια. Έχεις ένα object αρχείο. Οι βιβλιοθήκες συνήθως είναι συλλογές από object αρχεία, πακεταρισμένα μέσα σε ένα αρχείο με κατάληξη .a αν πρόκειται για στατική βιβλιοθήκη ή με κατάληξη .so αν πρόκειται για shared βιβλιοθήκη.
Αλλά και τα σκέτα .o αρχεία την ίδια δουλειά κάνουν (απλώς είναι πιο δύσκολο να τα γράφεις όλα κάθε φορά, ένα-ένα στη γραμμή εντολών του gcc)



