2016-04-26 10 views
2

Ich weiß, wie Sie gemeinsam genutzte Bibliotheken mit gcc und ln erstellen, aber wie erstelle ich eine gemeinsame Bibliothek mit nur ld, wenn ich Objektdateien (aus C++ oder C-Code) als Eingabe habe und wie tausche ich auf neue Version der Bibliothek?Wie erstelle ich eine gemeinsame Bibliothek mit ld?

+1

Pass-Shared? – immibis

+0

Die meisten Leute benutzen 'ld' bis' gcc/g ++ 'sie rufen es nicht direkt auf. – Galik

+0

Was meinst du mit "auf neue Version der Bibliothek wechseln"? –

Antwort

1

wie erstelle ich eine gemeinsame Bibliothek mit nur ld wenn ich Objektdateien haben (von C++ oder C-Code) als Eingangs

Sie gcc -v -shared ... laufen konnte, welche Möglichkeiten zu entdecken gcc zu ld passiert. Sie könnten dann die gleichen Argumente direkt an ld übergeben, und Sie sollten mit identischem Ergebnis enden.

Hinweis: Dies ist krank -advised (do dies nicht tun): die Argumente ändern mit verschiedenen Versionen von gcc und ld, und sie wechseln von einem Betriebssystem-Version zur nächsten.

Es ist sehr üblich, Verbindungslinien für ld zu konstruieren, die vor einigen Jahren korrekt waren, aber nicht mehr sind. Die Fehler, die dabei auftreten, sind oft niedrigstufig und subtil und jenseits der Fähigkeit der meisten Programmierer, sie zu verstehen und zu beheben.