ist es möglich, Module von LIB-Bibliothek in Python-Programm zu importieren (so einfach wie. DLL)?Statische Bibliothek (.lib) zu Python-Projekt
Antwort
Leider nein. Dynamic Link Libraries sind für das Laden von Runtime erforderlich.
Haben Sie Zugriff auf den Quellcode? Oder zumindest eine Header-Datei? Wenn Sie dies tun, können Sie entweder eine gemeinsam genutzte Bibliothek oder eine Python-Erweiterung erstellen, die mit der Bibliothek verknüpft ist. Da Sie DLLs erwähnt haben, nehme ich an, dass Sie an Windows arbeiten. This tutorial kann nützlich sein.
In der Theorie ja; in der Praxis wahrscheinlich nicht - und schon gar nicht so einfach wie eine DLL. Statische Bibliotheken sind im Wesentlichen nur Sammlungen von Objektdateien und benötigen einen vollständigen Linker, um alle möglicherweise darin enthaltenen Verschiebungsreferenzen korrekt aufzulösen. Es könnte möglich sein, Ihre statische Bibliothek zu nehmen und ihre Inhalte einfach zu einer gemeinsamen Bibliothek zu verknüpfen, aber das würde voraussetzen, dass die statische Bibliothek als positionsunabhängiger Code (PIC) erstellt wurde, was nicht garantiert ist. Theoretisch gibt es keinen Grund, warum die Arbeit, die ein vollständiger Linker tun würde, um die Bibliothek zu verbinden, zur Laufzeit nicht möglich wäre, aber in der Praxis gibt es dafür keinen Standardcode. Ihre beste Option ist wahrscheinlich, die Quelle oder eine freigegebene Version der Bibliothek aufzuspüren.
Haben Sie eine statische Bibliothek oder haben Sie eine .lib-Datei und nehmen an, dass es sich um eine statische Bibliothek handelt? Unter Windows kann eine LIB-Bibliothek eine Importbibliothek oder eine statische Bibliothek sein. Eine Importbibliothek wird neben der gleichnamigen DLL (z. B. kernel32.dll und kernel32.lib) erstellt. Es wird zur Verbindungszeit verwendet, um die Importadressentabelle der ausführbaren Datei aufzufüllen. Eine statische Bibliothek enthält Code, der zur Verbindungszeit in die ausführbare Datei kopiert wird.
Wenn Sie Zugriff auf einen Compiler haben, können Sie auch ein Erweiterungsmodul erstellen, das die statische Bibliothek verwendet. Für weitere Einzelheiten siehe the Python docs
- 1. iPhone statische lib
- 2. Android Build statische Lib
- 3. C Statische Bibliothek (.lib) zur Verwendung in einer C DLL
- 4. Makefile Syntax: Statische Bibliothek lib $ (library) .a ($ objects)
- 5. Code Coverage für statische Bibliothek (.lib) Visual Studio
- 6. statische Bibliothek Abhängigkeiten
- 7. Können Sie eine statische lib (.a) in eine andere statische lib mit ar einschließen?
- 8. Erstellen podspec, um statische Bibliothek zu versenden
- 9. Problem eine statische Lib in Linux Erstellen
- 10. statische lib mit vielen Modulen
- 11. JNA laden .a/.lib-Bibliothek
- 12. Statische Bibliothek und -weak-lSystem
- 13. eine statische Bibliothek zu einem iPhone-Projekt
- 14. Objective-C Statische Bibliothek
- 15. Statische Bibliothek zweimal geladen
- 16. CMake Stripping statische Bibliothek
- 17. Statische Bibliothek mit Abhängigkeiten
- 18. C++ Fehler zu kompilieren, wenn Irrlicht statische lib
- 19. Statische Lib mehrere Definition Link Error
- 20. statische Bibliothek dynamisch laden?
- 21. Android NDK freigegebene Bibliothek Kompilierungsprobleme können statische Bibliothek nicht kompilieren
- 22. Wie verbinden sich statische .lib-Dateien?
- 23. Converting-Bibliothek in statische Bibliothek konvertieren
- 24. Mingw statische lib in einem MSVC-Projekt verwendet
- 25. kann nicht verknüpfen Portaudio-Bibliothek als eine statische Bibliothek
- 26. Converting statische Link-Bibliothek in dynamische DLL
- 27. Fügen Sie statische Bibliothek innerhalb einer Präprozessordirektive
- 28. statische Bibliothek auf Windows-Plattform Problem
- 29. Cross kompilieren libgcrypt statische lib für die Verwendung auf iOS
- 30. Externe Bibliothek .jar zu Spring Boot hinzufügen.jar internal/lib