Ich bin neu in Android NDK und ich verstehe nicht die Unterschiede zwischen statischen und gemeinsamen Bibliotheken. Was sind sie, und wann würde ich einen Typ über den anderen wählen?Unterschied zwischen statischen und freigegebenen Bibliotheken in Android NDK?
Antwort
Der Begriff shared library passt nicht perfekt zu Androids NDK, da die .so-Bibliotheken in vielen Fällen nicht wirklich zwischen Anwendungen ausgetauscht werden. Es ist besser, die Bibliotheken zu klassifizieren, die der NDK als statisch und dynamisch erstellt.
Jede Android-Anwendung ist eine Java-Anwendung, und der einzige Einstiegspunkt für den NDK-Code ist das Laden als dynamische Bibliothek und den Aufruf über JNI.
Statische Bibliotheken sind Archive von kompilierten Objektdateien. Sie werden zum Zeitpunkt der Erstellung in anderen Bibliotheken gebündelt. Nicht verwendete Codeteile aus statischen Bibliotheken werden vom NDK entfernt, um die Gesamtgröße zu reduzieren.
Dynamische Bibliotheken werden zur Laufzeit aus separaten Dateien geladen. Sie können statische Bibliotheken enthalten, von denen sie abhängig sind, oder dynamischere Bibliotheken laden.
Also, was Sie eigentlich für die Android-Entwicklung brauchen, ist mindestens eine gemeinsame Bibliothek, die aus Java-Code aufgerufen wird und mit ihren Abhängigkeiten vorzugsweise als statische Bibliotheken verknüpft wird.
Native gemeinsam genutzte Bibliotheken: Das NDK erstellt diese Bibliotheken oder .so-Dateien aus Ihrem nativen Quellcode. Native statische Bibliotheken: Das NDK kann auch statische Bibliotheken oder A-Dateien erstellen, die Sie mit anderen Bibliotheken verknüpfen können.
Dies ist nach NDK Dokumentation
- 1. Unterschied zwischen SDK und NDK in Android
- 2. Erstellen und Link mehr NDK Bibliotheken gradle
- 3. Unterschied zwischen statischen und dynamischen Bibliothek in Xcode für iPhone
- 4. NDK kompilieren mehrere Bibliotheken
- 5. mehrere (meine und 3rd-Party) native Bibliotheken in Android NDK
- 6. Unterschied zwischen benutzerdefinierten Metadaten und statischen Funktionen?
- 7. undefined Referenzfehler in ndk Android-Projekt mit statischen Bibliothek
- 8. Unterschied zwischen statischen und dynamischen Programmiersprachen
- 9. Was ist der Unterschied zwischen statischen und nicht statischen globalen
- 10. Android NDK, CMake mit anderen Bibliotheken
- 11. Android NDK - OpenGL ES Lernprogramm/Bibliotheken
- 12. was ist der unterschied zwischen android ndk r9 legacy tool kette und android ndk r9 auf windows 64
- 13. Unterschied zwischen statischen und dynamischen Zeitplan in OpenMP in C
- 14. Merge mehrere .so freigegebenen Bibliotheken
- 15. Android NDK und LOCAL_ARM_MODE flag
- 16. Unterschied zwischen statischen und dynamischen Web-Projekt in Eclipse
- 17. Unterschied zwischen Bibliotheken und Helfern in PHP-Frameworks
- 18. Was ist der Unterschied zwischen gnustl und stlport in android ndk Entwicklung?
- 19. Unterschied zwischen GL10 und GLES10 auf Android
- 20. Kreuz kompilieren einer Anwendung mit freigegebenen Bibliotheken
- 21. Unterschied zwischen Adapter und Loader in Android
- 22. Unterschied zwischen RTC und RTC_WAKEUP in Android
- 23. Unterschied zwischen Kontextmenü und Optionsmenü in Android
- 24. Unterschied zwischen Android: Breite und android: layout_width
- 25. Unterschied zwischen Android: windowBackground und Android: colorBackground?
- 26. Unterschied zwischen Android: ID und Android: LabelFor?
- 27. Unterschied zwischen Android: layout_alignParentTop und android: layout_alignParentStart
- 28. Kombination statischen Bibliotheken
- 29. Warum ändert ndk-build prebuild so Bibliotheken?
- 30. Verknüpfung mit statischen Bibliotheken
sauber prägnant an .. Dank – baash05
Wirklich große Antwort –
Danke, wirklich gute Antwort. Auf den Punkt. –