2009-03-14 6 views
7

J'ai un module Python avec seulement des fonctions globales régulières. Je dois l'appeler à partir d'un autre environnement de script de domaine métier qui peut uniquement appeler des DLL C. Y at-il de toute façon de construire mes modules Python pour que d'autres codes puissent être appelés comme une fonction C standard exportée depuis une DLL? C'est pour un environnement Windows. Je suis au courant de IronPython, mais autant que je sache, il ne peut construire que des assemblys .NET, qui ne sont pas appelables en tant que fonctions C de DLL.Existe-t-il un moyen de créer une DLL de type C à partir d'un module Python?

Répondre

6

Jetez un oeil à this Codeproject article. Une façon serait d'envelopper vos fonctions python dans un DLL et de l'exposer à l'appelé.

COM est un protocole binaire permettant de résoudre ce problème. Mais vous devrez envelopper cette DLL python dans un wrapper COM. Et ajoutez du code du côté appelant aussi.

2

py2exe peut générer COM dll à partir du code python, en compilant et en intégrant le code python + interprète. AFAIK ne supporte pas encore les DLL normales. Pour cela, voir la réponse de dirkgently sur l'intégration de python.

Questions connexes