Was genau bedeutet " - rdynamic` tun ist und Wann genau wird Sie benötigt?

Was genau macht -rdynamic (oder --export-dynamic auf linker-Ebene) und in welcher Beziehung steht es zum symbol Sichtbarkeit definiert durch die -fvisibility* Fahnen oder Sichtbarkeit pragmas und __attribute__s?

Für --export-dynamic, ld(1) erwähnt:

...
Wenn Sie "dlopen" laden ein dynamisches Objekt, das zu finden Sie wieder
zu den Symbolen durch das Programm definiert, eher als in einigen anderen dynamischen
Objekt, dann werden Sie wahrscheinlich benötigen,
verwenden Sie diese option, wenn die Verknüpfung das Programm selbst. ...

Ich bin mir nicht sicher, ob ich vollständig verstehen. Könntest du bitte ein Beispiel geben, das nicht funktioniert ohne -rdynamic aber mit ihm macht?

Bearbeiten:
Ich versuchte wirklich kompilieren ein paar dummy-Bibliotheken (eine einzige Datei, multi-Datei, verschiedene -O-Ebenen, einige inter-Funktionsaufrufe, einige versteckte Symbole, einige sichtbar), mit und ohne -rdynamic, und so weit ich habe immer byte-identisch Ausgänge (wenn man alle anderen flags, die Konstante natürlich), das ist ziemlich rätselhaft.

InformationsquelleAutor PSkocik | 2016-04-18
Schreibe einen Kommentar