Als «ld» getaggte Fragen

Das Programm ld (Linker oder Loader) kombiniert Objektdateien, Archivdateien und (Referenzen aus) gemeinsam genutzten Bibliotheken, verschiebt deren Daten und Adressen zusammen mit Symbolreferenzen. Das Verknüpfen ist normalerweise der letzte Schritt beim Kompilieren eines Programms.

4
Ich verstehe nicht -Wl, -rpath -Wl,
Der Einfachheit halber habe ich die entsprechenden Seiten unten hinzugefügt. Mein (falsches) Verständnis zuerst: Wenn ich Optionen mit trennen ,muss, bedeutet dies, dass die zweite -WlOption keine andere Option ist, da sie vorher kommt, ,was bedeutet, dass sie ein Argument für die -rpathOption ist. Ich verstehe nicht, wie -rpathman ein …
244 gcc  ld  rpath 

1
Was ist der Unterschied zwischen .so-, .la- und .a-Bibliotheksdateien?
Ich weiß, dass eine .soDatei eine Art dynamische Bibliothek ist (viele Threads können solche Bibliotheken gemeinsam nutzen, sodass nicht mehr als eine Kopie davon im Speicher vorhanden sein muss). Aber was ist der Unterschied zwischen.a und .la? Sind das alles statische Bibliotheken? Wenn dynamische Bibliotheken große Vorteile gegenüber statischen haben, …

3
LD_LIBRARY_PATH vs LIBRARY_PATH
Ich erstelle ein einfaches C ++ - Programm und möchte eine vom System bereitgestellte gemeinsam genutzte Bibliothek vorübergehend durch eine neuere Version ersetzen, um sie zu entwickeln und zu testen. Ich habe versucht, die Variable LD_LIBRARY_PATH zu setzen, aber der Linker (ld) ist fehlgeschlagen mit: / usr / bin / …
159 gcc  g++  ld 


17
Kompilierungsprobleme: crt1.o kann nicht gefunden werden
Ich habe ein virtuelles Debian-System, mit dem ich entwickle. Heute wollte ich llvm / clang ausprobieren. Nach der Installation von clang kann ich meine alten c-Projekte (mit gcc) nicht kompilieren. Dies ist der Fehler: ... /usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such …
114 gcc  clang  ld 

11
Wie entferne ich nicht verwendete C / C ++ - Symbole mit GCC und ld?
Ich muss die Größe meiner ausführbaren Datei stark optimieren ( ARMEntwicklung) und habe festgestellt, dass in meinem aktuellen Build-Schema ( gcc+ ld) nicht verwendete Symbole nicht entfernt werden. Die Verwendung von arm-strip --strip-unneededfür die resultierenden ausführbaren Dateien / Bibliotheken ändert nichts an der Ausgabegröße der ausführbaren Datei (ich habe keine …
110 c++  c  gcc  ld  strip 

1
Was ist der Unterschied zwischen -rpath und -L?
gccund ldbieten viele Möglichkeiten, einen Suchpfad für Bibliotheken anzugeben, darunter die Flags -rpathund -L. Die Manpages zeigen keine Unterschiede zwischen diesen beiden Flags, was effektiv bedeutet, dass jedes Flag dem Bibliothekssuchpfad eine Bibliothek hinzufügt. Es scheint jedoch seltsam, dass beide Flaggen genau dasselbe tun. Was sind die Unterschiede zwischen diesen …


1
Was sind die Befehlszeilenoptionen --start-group und --end-group?
Was ist der Zweck dieser Befehlszeilenoptionen? Bitte helfen Sie dabei, die Bedeutung der folgenden Befehlszeile zu entschlüsseln: -Wl,--start-group -lmy_lib -lyour_lib -lhis_lib -Wl,--end-group -ltheir_lib Anscheinend hat es etwas mit dem Verknüpfen zu tun, aber das GNU-Handbuch ist leise, was genau Gruppierung bedeutet.
82 gcc  linker  ld 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.