Als «linker» getaggte Fragen

Der Linker ist Teil der Toolchain zum Erstellen ausführbarer Dateien aus Quellcode, der in kompilierten Programmiersprachen geschrieben wurde. Es nimmt kompilierten Objektcode in mehreren Dateien auf und erzeugt daraus eine einzige "verknüpfte" ausführbare Datei.


12
Ist es möglich, Python zu Maschinencode zu kompilieren?
Wie machbar wäre es, Python (möglicherweise über eine C-Zwischendarstellung) in Maschinencode zu kompilieren? Vermutlich müsste eine Verknüpfung zu einer Python-Laufzeitbibliothek hergestellt werden, und alle Teile der Python-Standardbibliothek, die selbst Python waren, müssten ebenfalls kompiliert (und eingebunden) werden. Außerdem müssten Sie den Python-Interpreter bündeln, wenn Sie Ausdrücke dynamisch auswerten möchten, aber …
127 python  c  linker  compilation 


1
Was passiert mit globalen und statischen Variablen in einer gemeinsam genutzten Bibliothek, wenn diese dynamisch verknüpft ist?
Ich versuche zu verstehen, was passiert, wenn Module mit globalen und statischen Variablen dynamisch mit einer Anwendung verknüpft werden. Mit Modulen meine ich jedes Projekt in einer Lösung (ich arbeite viel mit Visual Studio!). Diese Module sind entweder in * .lib oder * .dll oder in die * .exe selbst …

4
Was machen Linker?
Ich habe mich immer gefragt. Ich weiß, dass Compiler den von Ihnen geschriebenen Code in Binärdateien konvertieren, aber was machen Linker? Sie waren mir immer ein Rätsel. Ich verstehe ungefähr, was "Verknüpfen" ist. Dies ist der Fall, wenn der Binärdatei Verweise auf Bibliotheken und Frameworks hinzugefügt werden. Darüber hinaus verstehe …

1
Was macht das Linker-Flag -all_load?
Ich kann nirgendwo finden, was das Flag -all_load beim Kompilieren von Objective-C-Code bewirkt. Ich habe einige Probleme beim Hochladen von Binärdateien auf Apple. Sie sagen, das liegt daran, dass ich dieses Flag nicht verwendet habe, aber mein Code wird auch ohne es kompiliert. Kann mir jemand dabei helfen? Vielen Dank


23
Warum tritt beim Kompilieren eines C ++ - Projekts in Visual Studio der schwerwiegende Fehler "LNK1104: Datei 'C: \ Program.obj' kann nicht geöffnet werden" auf?
Ich habe in Visual Studio 2008 ein neues C ++ - Projekt erstellt. Es wurde noch kein Code geschrieben. Es wurden nur die Projekteinstellungen geändert. Wenn ich das Projekt kompiliere, erhalte ich den folgenden schwerwiegenden Fehler: Schwerwiegender Fehler LNK1104: Datei 'C: \ Program.obj' kann nicht geöffnet werden
117 visual-c++  linker 

4
Wie kann ich auf eine bestimmte glibc-Version verlinken?
Wenn ich etwas auf meinem Ubuntu Lucid 10.04-PC kompiliere, wird es mit glibc verknüpft. Lucid verwendet 2.11 von glibc. Wenn ich diese Binärdatei auf einem anderen PC mit einem älteren glibc ausführe, schlägt der Befehl fehl und sagt, dass es kein glibc 2.11 gibt ... Soweit ich weiß, verwendet glibc …
110 linux  gcc  linker  glibc  libc 

4
Wie erstelle ich eine vollständig statisch verknüpfte EXE-Datei mit Visual Studio Express 2005?
Meine derzeit bevorzugte C ++ - Umgebung ist die kostenlose und weitgehend ausgezeichnete Microsoft Visual Studio 2005 Express Edition. Von Zeit zu Zeit habe ich Release-EXE-Dateien mit erfreulichen Ergebnissen an andere Personen gesendet. Vor kurzem machte ich jedoch die beunruhigende Entdeckung, dass die erfreulichen Ergebnisse auf mehr Glück beruhten, als …

8
statische Verknüpfung nur einiger Bibliotheken
Wie kann ich beim Verknüpfen mit GCC nur einige bestimmte Bibliotheken statisch mit meiner Binärdatei verknüpfen? gcc ... -static ...versucht, alle verknüpften Bibliotheken statisch zu verknüpfen, aber ich habe nicht die statische Version einiger von ihnen (z. B. libX11).


6
Wofür ist __gxx_personality_v0?
Dies ist eine gebrauchte Frage von einer OS-Entwicklungsseite, die mich jedoch neugierig machte, da ich nirgendwo eine anständige Erklärung finden konnte. Beim Kompilieren und Verknüpfen eines freistehenden C ++ - Programms mit gcc tritt manchmal ein Linkerfehler wie der folgende auf: out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' Dies liegt anscheinend daran, …
103 c++  gcc  linker  kernel 

15
Aufteilen von C ++ - Vorlagenklassen in .hpp / .cpp-Dateien - ist das möglich?
Beim Kompilieren einer C ++ - Vorlagenklasse, die zwischen a .hppund .cppfile aufgeteilt ist, werden Fehler angezeigt : $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()' main.cpp:(.text+0x1c): undefined reference to 'stack<int>::~stack()' …


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.