Więc starałem się zmusić biblioteki dynamiczne do pracy w moim projekcie XCode pod Mac OS X. Jak dotąd bez radości.
Jestem w stanie załadować plik dylib, ale kiedy wywołuję dlsym, aby uzyskać wskaźnik funkcji, zwraca 0, a dlerror mówi, że symbol nie został znaleziony.
Zastanawiam się więc, czy istnieje prosty sposób na wyświetlenie symboli wyeksportowanych z pliku dylib. Wszelkie pomysły byłyby świetne.
nm -gu
, tzn.-u
Opcja jest małymi literami.man 1 nm
wymienia wiele rzeczy, które można zrobić z nm. Ponownie, jest to zewnętrzny zasób, który można przeczytać w celu znalezienia rozwiązania, ale nie samo rozwiązanie żądanego „prostego sposobu na wyeksportowanie symboli, które są eksportowane z pliku dylib” . „nm -gU ….dylib
” Jest jednak.Użyj otool :
LUB
źródło
otool: -T functionality obsolete
użycie objdump -totool -T
raportyfunctionality obsolete
w nowszym OS X, prawdą jest również, że (w przypadku bibliotek dynamicznych)objdump -t
będą raportowaćThe file was not recognized as a valid object file.
Posługiwać się
nm -a your.dylib
Wypisze wszystkie symbole, w tym globale
źródło
Użyj Mach-OView do przeglądania wszystkich symboli w dylib
https://sourceforge.net/projects/machoview/
źródło