Lassen Sie uns zuerst erklären, was ich mit einer Stub Shared Library meine: eine Shared Library, die verwendet werden kann (mit einer bestimmten von einer echten Bibliothek bereitgestellten Schnittstelle), aber nicht enthalten der eigentliche Code (hat also keine Funktionalität).Erstellen von Stub Shared Libraries unter Linux
Zusammen mit den Header-Dateien bietet es alles, was benötigt wird, um gegen die Bibliothek zu entwickeln.
Stubs können die Verknüpfung zu einer bestimmten Bibliothek ermöglichen, ohne dass der Code verfügbar ist. Aus Gründen der Kompatibilität kann es jedoch nützlich sein, eine Verknüpfung mit einem Stub einer bestimmten Bibliothek herzustellen. Siehe zum Beispiel In Linux stubs are used for standard libraries. Why are stubs required?
Idealerweise benötige ich eine Möglichkeit, eine Dummy-Bibliothek aus einer Symboldatei zu generieren. Diese Map-Datei wird wiederum entweder aus einer vorhandenen .so-Bibliothek oder im selben Build-Prozess generiert.
Gibt es irgendwelche Tools für diese frei verfügbar? Oder müsste ich meine eigene rollen?
Ich versuche, dies mit einem zu tun riesige C++ - Bibliothek, ich fürchte, der einfache Ansatz wird nicht funktionieren. Und in der Tat kann die Bibliothek nicht (vernünftig) verwendet werden, um irgendetwas zur Laufzeit zu verifizieren, es ist nur zum Verknüpfen da. Bereitstellen einer Schnittstelle zum Verknüpfen, obwohl der zugrunde liegende Code unterschiedlich sein kann. – wump
Dann könnten Sie den MELT-Ansatz in Betracht ziehen, d. H. Ihren GCC anpassen (z. B. um jeden Funktionskörper zu löschen). –