Возможно ли импортировать модули из библиотеки .lib в программу Python (так же просто, как и DLL)?Статическая библиотека (.lib) для проекта Python
ответ
К сожалению, нет. Библиотеки динамических ссылок необходимы для загрузки во время выполнения.
Есть доступ к исходному коду? Или, по крайней мере, файл заголовка? Если да, то вы можете либо создать общую библиотеку, либо расширение Python, которое связывается с библиотекой. Поскольку вы упомянули DLL, я предполагаю, что вы работаете в Windows. This tutorial может быть полезным.
Теоретически, да; на практике, вероятно, нет - и, конечно, не так просто, как DLL. Статические библиотеки - это, по сути, только коллекции объектных файлов, и им нужен полный компоновщик, чтобы правильно разрешать все ссылки на перемещение, которые они могут содержать. Возможно, вы сможете взять свою статическую библиотеку и просто связать ее содержимое с целью создания общей библиотеки, но для этого потребуется, чтобы статическая библиотека была построена как независимый от позиции код (PIC), что не гарантируется. Теоретически нет никакой причины, по которой работа, которую полный компоновщик сделает, чтобы связать библиотеку, не может быть выполнена во время выполнения, но на практике для этого нет готового кода. Ваша лучшая реальная опция - это, вероятно, отслеживание исходной или общей версии библиотеки.
У вас есть статическая библиотека или у вас есть .lib-файл и предполагается, что это статическая библиотека? В Windows библиотека .lib может быть библиотекой импорта или статической библиотекой. Библиотека импорта создается вместе с DLL с тем же именем (например, kernel32.dll и kernel32.lib). Он используется во время соединения для заполнения таблицы адресов импорта исполняемого файла. Статическая библиотека содержит код, который будет скопирован в исполняемый файл во время соединения.
Если у вас есть доступ к компилятору, другой возможностью может быть создание модуля расширения, который использует статическую библиотеку. Для получения дополнительной информации см. the Python docs
- 1. Статическая библиотека для Mac OS
- 2. Reference статическая библиотека проекта в Visual Studio
- 3. Статическая библиотека - Статическая библиотека с использованием собственного файла Qt .so
- 4. Статическая библиотека Windows
- 5. Visual C++ статическая библиотека
- 6. Статическая библиотека с зависимостями
- 7. Статическая библиотека не найдена
- 8. iOS статическая библиотека?
- 9. Статическая библиотека Iphone Link
- 10. Статическая библиотека vs Динамическая библиотека для хранения классов
- 11. Статическая библиотека и динамическая библиотека: Confusion
- 12. Почему для визуальной студии нужна статическая библиотека (.lib) для динамической компоновки?
- 13. Динамическая замена Fedora для libm.a (статическая библиотека)?
- 14. Универсальная статическая библиотека iOS
- 15. Статическая библиотека Buildind NDK
- 16. Статическая библиотека - отладка или выпуск?
- 17. Многоцелевая статическая библиотека - авария
- 18. внешняя статическая библиотека
- 19. Статическая библиотека iOS
- 20. статическая библиотека visual studio 2008
- 21. Библиотека? Статическая? Динамический? Или Рамки? Проект внутри другого проекта
- 22. Emscripten + Visual Studio + Статическая библиотека
- 23. Статическая библиотека Objective-C
- 24. Статическая библиотека загружена дважды
- 25. Статическая библиотека вопрос
- 26. статическая библиотека ссылок
- 27. Быстрая статическая библиотека
- 28. Статическая библиотека CodeLite не находит файл include
- 29. LoadString, статическая библиотека и исполняемые файлы
- 30. Какой формат использует статическая библиотека (* .lib)? Где я могу найти «Официальные» спецификации файловой структуры/формата * .LIB?