2017-01-22 1 views
0

Ich bin neu beim Verlinken und Kompilieren (wenn Sie gute Lernquellen haben, bitte teilen Sie es!), Und ich spiele mit Makefiles herum. Ich entschuldige mich im Vorangegangenen, dass das Folgende offensichtlich klingt.Ist es möglich: Verknüpfen Sie Objektdateien, verknüpfen Sie dann das Ergebnis mit mehr Objektdateien?

Sagen Sie, ich kompiliere 2 .o Dateien, und verknüpfen Sie sie dann. Dann kompiliere ich eine andere .o Datei. Kann ich das erste Ergebnis mit der dritten Objektdatei verknüpfen?

+0

Sie kompilieren alle Dateien und verknüpfen sie dann. Die Verknüpfung ist der letzte Schritt. Sie können Objektdateien kompilieren und dann zu einer Bibliotheksdatei (.lib) hinzufügen. Sie wird jedoch immer erst nach der Kompilierung verwendet. –

+0

Es gibt mehrere Möglichkeiten hier, von denen alle oder sogar alle für Ihre tatsächlichen Bedürfnisse irrelevant sein könnten. Was Sie unter verstehen "Sagen Sie, ich kompiliere 2 .o Dateien und verbinde sie dann" ist unklar. Bitte Post Probe Befehlszeilen oder 'make' Rezepte, die zeigen, was Sie bedeuten dies. –

Antwort

0

Ist es möglich: Verknüpfen Sie Objektdateien, verknüpfen Sie dann das Ergebnis mit mehr Objektdateien?

Ja:

ld -r -o foo-combined.o foo1.o foo2.o 
gcc foo-combined.o bar.o -o a.out 

Die -r Flagge schafft eine versetzbar (Objekt-Datei), die effektiv foo1.o und foo2.o verschmilzt.

Verwandte Themen