est-il possible d'importer des modules de la bibliothèque de la bibliothèque de Python (aussi simple que possible .dll)? P>
4 Réponses :
Malheureusement, non. Les bibliothèques dynamiques de liaison sont nécessaires pour le chargement d'exécution. P>
Avez-vous accès au code source? Ou au moins un fichier d'en-tête? Si vous le faites, vous pouvez également créer une bibliothèque partagée ou une extension Python qui relie la bibliothèque. Depuis que vous avez mentionné des DLL, je suppose que vous travaillez sur Windows. Ce tutoriel peut être utile. P>
en théorie, oui; En pratique, probablement pas - et certainement pas aussi simplement comme une DLL. Les bibliothèques statiques ne sont essentiellement que des collections de fichiers d'objets et nécessitent une liaison complète pour résoudre correctement toutes les références de relocalisation qu'ils peuvent contenir. Il pourrait être possible de prendre votre bibliothèque statique et de lier son contenu pour former une bibliothèque partagée, mais cela nécessiterait que la bibliothèque statique ait été construite en tant que code indépendant de position (PIC), qui n'est pas garantie. En théorie, il n'y a aucune raison que le travail qu'un maillon complet ferait pour lier la bibliothèque ne pouvait pas être effectué au moment de l'exécution, mais dans la pratique, il n'y a pas de code hors-la-chaussée pour le faire. Votre meilleure option réelle est probablement de suivre la source ou une version partagée de la bibliothèque. P>
Avez-vous une bibliothèque statique ou avez-vous un fichier .Lib et supposons qu'il s'agit d'une bibliothèque statique? Sous Windows, une bibliothèque .LIB peut être une bibliothèque d'importation ou une bibliothèque statique. Une bibliothèque d'importation est créée à côté de la DLL du même nom (par exemple, kernel32.dll et kernel32.lib). Il est utilisé au moment de la liaison pour peupler le tableau d'adresses d'importation de l'exécutable. Une bibliothèque statique contient du code qui sera copié dans l'exécutable au moment de la liaison. P>
Si vous avez accès à un compilateur, une autre option peut être de créer un module d'extension utilisant la bibliothèque statique. Pour plus de détails, voir Les Documents Python P>