Καλησπέρα σας!
Επειδή οι γνώσεις μου πάνω σε θέματα linking είναι παιδαριώδεις, θα ήθελα να σας ρωτήσω το εξής:
Πως με το ld μπορώ να συνδέσω static (δηλαδή το αρχείο που θα βγει να έχει "καταπιεί" την βιβλιοθήκη), και πως dynamic (δηλαδή το αρχείο που θα βγεί να συνδέεται κατά την εκτέλεση με την βιβλιοθήκη);;;
Ας το κάνω πιο συγκεκριμένο:
έχω 5 αρχεία:
τα lib1.o, lib2.o lib3.o, lib4.o και main.o
Όλα compiled από το NASM (καθαρό assembly) σε μορφή elf64. Το main.o πρέπει να συνδεθεί με τα άλλα 4 για να δουλέψει.
Και θέλω: Η σύνδεση με τα δύο πρώτα να είναι static, δηλαδή ακόμα και αν τα σβήσω, το πρόγραμμα να δουλεύει κανονικά,
και η σύνδηση με τα δύο τελευταία να είναι dynamic, δηλαδή το πρόγραμμα να μην τα "εσωκλείει", αλλά να τα ψάχνει κατά την εκτέλεση.
Τι πρέπει να πατήσω στο ld??
Ευχαριστώ πολύ!