Wie kann Code in einer dylib unter OS X den Pfad finden, von dem er zur Laufzeit geladen wurde?
Wenn ich von einem Windows-Hintergrund komme, kann ich GetModuleFileName(dllHandle,...)
aufrufen.
Es gibt NSGetExecutablePath()
, was mir den Pfad der ausführbaren Datei für den aktuellen Prozess angibt. Gibt es ein Äquivalent, um mir den aktuellen Dylib-Pfad zu geben?
Verwenden Sie dladdr (3) . Bei einer Speicheradresse gibt dladdr () eine Struktur aus, die neben anderen Daten den Pfad der Bibliothek enthält, die die Adresse enthält. Zum Beispiel in Ihrer Bibliothek:
%Vor%