wie anzeigen des Inhalts der statischen library in Xcode?
Vielen Dank im Voraus. Ich habe eine static library
sagen libpics.ein. Ich möchte sehen, dessen Inhalt, wie der code der Bibliothek. Meine statische Bibliothek hat eine .h file
und eine .a file
ich sehen kann Inhalt .h file
, es gibt nur eine Methode, aber ich kann nicht sehen, den Inhalt .a file
. Nach einigem suchen kann ich nur finden, dass .a file
enthält die kodierende Teil oder Umsetzung von .h file's
Methode. Ich bin neu in iOS
Entwicklung, den code in das .a file
ich extrahieren möchten, und verwenden Sie es.
Ich habe versucht, die Suche über das öffnen von statischen Bibliothek verwendet wird, aber die meiste Zeit habe ich im Zusammenhang mit der Suche, wie das erstellen von statischen Bibliothek und wie es zu benutzen etc. Aber ich möchte nur zu öffnen, statische Bibliothek und wollen einfach nur, um zu sehen, den code in die Implementierung Datei.
Lese ich etwas über nm
und ar
tool, aber ich verstehe nicht, dass denen zu gelten, dass code.
sowas
nm -C libschnoeck.a | less
oder
ar -t libsamplerate.a
nach der Installation von command line tool, ich schrieb
ar -x phpFramework.ein
code im terminal als pro Vorschlag von Владимир Водолазкий. ich bekam folgenden Zeilen..
ar: phpFramework.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: phpFramework.a: Inappropriate file type or format
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen kann man source-code in statische Bibliothek, nur wegen es gibt KEINE source-codes gibt. Statische Bibliothek in IOS-wie in jedem anderen Unix-artigen system enthält eine Reihe von kompilierten Prozeduren/Funktionen/Methoden.
Nehmen Sie nur einen Blick auf die Xcode-log, wenn die normalen Projekt baut. Sie können feststellen, dass Sie zunächst *.m-Dateien werden kompiliert *.o-format - es ist eigentlich binary-format (was ist anders, wenn die Quell-Datei wurde für die Verwendung im Simulator oder auf native device). Dann diese *.o-Dateien verknüpft sind, in Anwendung. (Bitte nicht mir die Schuld für dieses einfache Erklärung,% -))
In der Tat statische Bibliothek ist ein Satz von solchen vorkompilierte *.o-Dateien. Auslieferung durch Hersteller/Eigentümer um Ihre Zeit zu sparen auf die Zusammenstellung oder/und Schutz der Quell-code geändert werden. So kann es nur mit Hilfe von externen anrufen, die sind dokumentiert in .h-Dateien oder Sie zu extrahieren, können separate Module (.o) gibt es ab und verknüpfen es in Ihre Anwendung "manuell".
Den code zum erstellen der Bibliothek kompiliert in Objektdateien, die verknüpft sind, in die .eine Datei. Die .eine Datei keinen code enthalten, und Sie können nicht lesbaren code von der .eine Datei.
Jedoch die Bibliothek verwenden, müssen Sie nicht den code, fügen Sie einfach die Bibliothek in Ihrem Xcode-Projekt als pro die Xcode-Dokumentation und #import der Header in deinem code, so dass der compiler weiß, was in den Bibliotheken.
Während der link-phase des Projekts, das der linker Blick auf den Objekt-code erzeugt aus dem code und den finden nicht aufgelöste Symbole, die Sie suchen dann in der Bibliothek und ziehen Sie nur in dem Objekte aus der Bibliothek, die benötigt werden. (Ein Vorteil von statischen über dynamische Bibliotheken)
nm listet die Symbole, die zwar definiert wurden, die in der Bibliothek und in der der code aufgerufen werden können.