begin process at 2010 02 09 20:43:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Python

 > 

Archives

 > 

Divers

 > 

utilisation de librairie binaire(dll sous windows et sous linux)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

utilisation de librairie binaire(dll sous windows et sous linux)

dimanche 27 mars 2005 à 20:07:23 | utilisation de librairie binaire(dll sous windows et sous linux)

kollibar

comment je peut faire pour créer une dll (en C ou C++ ) et utiliser ses fonctions  en python.
je sais qu'il y a des contraintes sur l'écriture de la dll mais je ne les connais pas et je ne sais aps non plus comment la charger apres
Et j aimerai savoir faire qq chose se similaire sous linux

KOLLIBAR
lundi 13 juin 2005 à 01:53:08 | Re : utilisation de librairie binaire(dll sous windows et sous linux)

bouba

La plupart des modules Python sont codés en C, les types simples en générale. Ce que tu veux faire c'est de l'interfaçage apparement, c'est à dire utiliser du code C/C++ (ou autre) dans du Python. Pour faire ça il va te falloir un pe de motive, c'est pas facile au début. Sous windows on créer un module en C et on le compile de façon à obtenir une librairie dynamique .dll, sous linux .so. Je ne sais pas comment on fait sous win, mais sous linux une fois que tu as ton module compilé en librairie dynamique (.so) il suffit de faire un import avec le nom de la librairie dynamique pour utiliser les fonctions interfacées.
Voici par exemple un module écrit en C pour intarfacer printf.

/* Fichier stdio.c
   Interfaçage de la fonction printf */
  
#include "Python.h"

#ifdef __cplusplus
extern "C" {
#endif

// déclaration de la fonction d'interfaçage
static PyObject * stdio_printf(PyObject *self, PyObject *args);

/* définition du tableau de structures pour la description des
 * fonctions
 */
static PyMethodDef stdioMethods[] = {
    {"printf",  stdio_printf, METH_VARARGS, "Pareil que printf en C"},
    {NULL, NULL, 0, NULL}        /* Sentinel */
};

// définition de la fonction d'interfaçage
static PyObject * stdio_printf(PyObject *self, PyObject *args) {
    const char *commande;
    int retour;

    if (!PyArg_ParseTuple(args, "s", &commande))
        return NULL;
    retour = printf(commande);

    return Py_BuildValue("i", retour);
}

// fonction d'initialisation du module stdio
PyMODINIT_FUNC initstdio(void) {   
    Py_InitModule("stdio", stdioMethods);   
}

vas voir sur le sites de Python, section API Python/C, Extending/Integrating C/Python

Bonne chance.
Bouba



Cette discussion est classée dans : binaire, windows, dll, utilisation, librairie


Répondre à ce message

Sujets en rapport avec ce message

Compilation avec py2exe ??? [ par chrisadmin ] Bonjour à tous, j'espere que je poste au bon endroit ! Je souhaite compiler une application développée en python. voici le setup.py lancé avec py2ex Utilisation du module Pywin32 [ par galgafou ] Bonjour à tous, En naviguant sur internet, j'ai constaté qu'il existait un module (pywin32) permettant notamment d'ouvrir ou d'écrire des documents e dll avec python? [ par LokR ] Salut tout le monde!je me pose une kestion, je pense pas que ce soit possible mais d'un autre coté je pensais pas kon puisse faire d' *.exe avec pytho interpreteur sous windows [ par arnohoho ] hello tous le monde voila je cherche un bon interpreteur python pour windowscomme certain ici programme deja depuis un certain temps il pourront certe Librairie graphique vectoriel [ par DoudouBidou ] Bonjour, j'ai depuis quelques jour un projet en tête, celui de réaliser un logiciel de saisi de schéma électrique en python. le plus simple ser Ouverture d'un fichier windows (avec Tkinter) [ par Uims ] Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati creer un executable python à faire fonctionner sous windows [ par marcus034 ] Bonjour, Nouvel utilisateur de python, je n'arrive pas à exécuter un script python  (créé sous idle de mandrake) sous windows. Comment concretement cr utilisation de tkMessageBox [ par cynthia06 ] Bonjour a tous,Ma question va sans doute paraitre tres bete.J'essaie d'afficher un message avec tkMessageBox.Pour cela je fais:from Tkinter import *im Liste des applications Windows [ par aera group ] Bonjour,Je cherche à savoir s'il excise un sous programme de Windows qui renvoi la liste des applications ouvertes actuellement. Par exemple, si j'ai Aide : obtenir des information de Windows [ par aera group ] Bonjour,je viens de tomber sur un site très interressant sur Python et Windows. Dans ce site, on a tous les codes utiles pour obtenir des information


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales