Frage

Dies ist eine Frage, die ich über immer wieder gekommen sind, in der Regel über Plug-Ins, aber vor kurzem stieß ich auf es einige Build-System Probleme zu schmieden versuchen. Meine Sorge ist, in erster Linie für * nichts-basierten Systeme, aber ich nehme an, es auch zu Fenster gilt.

Die Frage ist, was ist die minimale Menge an Informationen, die dynamische Verknüpfung zu tun? Ich weiß, dass Linux-Distributionen wie Debian haben einfach eine ‚i686‘, das genug ist. Aber ich nehme an, dass eine implizite Informationen hier ist, und ich werde wahrscheinlich nicht dynamische Verknüpfung eines gemeinsamen Objekts so lange tun können, wie sie -march=i686 kompiliert verwenden, werde ich?

Also, was muss angepasst werden richtig für mich in der Lage sein, erfolgreich ein gemeinsames Objekt zu laden? Ich weiß, dass für C ++ auch der Compiler (und manchmal Version) müssen wegen Namensverkürzung übereinstimmen, aber ich war irgendwie gehofft dies für c nicht der Fall war.

Alle Gedanken geschätzt.

Bearbeiten :
Neil Antwort machte mir klar, ich bin nicht wirklich reden über eine dynamische Verbindung, oder besser gesagt, die Frage ist zweifach,

  1. was für statische Verknüpfung benötigt wird, und
  2. was für eine dynamische Verbindung benötigt

Ich habe höhere Hoffnungen für das erste, denke ich.

War es hilfreich?

Lösung

Nun muss zumindest haben Sie den Code für die gleiche Prozessorfamilie zusammengestellt, und Sie müssen die Namen der Bibliothek und der Funktion kennen. Hinzu kommt, dass, müssen Sie die gleiche ABI. Sie sollten sich bewusst sein, dass trotz allem, was die Leute denken, die C-Standard nicht ein ABI spezifiziert und es ist durchaus möglich, dass zwei C-Compiler (oder Versionen des gleichen Compiler) an den Standard zu halten, auf der gleichen Plattform laufen, aber haben unterschiedliche Abi.

Was genau Architektur Details spezifizieren - ich muss zugeben, ich habe es nie getan. Planen Sie binäre Bibliotheken auf verschiedenen Linux-Varianten auf die Verteilung?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top